Browser based video editing

ABSTRACT

Embodiments of the present invention provide for a clip manipulation facility within a browser environment. Without limitation, the clip may be a video clip. An editing tool may be adapted to alter the appearance of a clip associated with the manipulation facility.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation-in-part of each of the followingco-pending, commonly-owned, patent applications: U.S. application Ser.No. 11/409,502 filed on Apr. 20, 2006; U.S. application Ser. No.11/409,507 filed on Apr. 20, 2006; and U.S. application Ser. No.11/408,790 filed on Apr. 20, 2006.

Each of the foregoing applications further claims the benefit of thefollowing commonly-owned provisional applications: U.S. Provisional App.No. 60/673,445, filed on Apr. 20, 2005; and U.S. Provisional App. No.60/732,548, filed on Nov. 2, 2005.

This application is also related to commonly-owned U.S. application Ser.No. 11/620,779 and U.S. application Ser. No. 11/620,785, both filed oneven date herewith.

Each of the preceding patent applications is hereby incorporated byreference in its entirety.

BACKGROUND

As more people gain access to broadband Internet connections, wirelessbroadband Internet connections, and video-enabled digital cameras andcell phones, they will want to incorporate Internet-based, rich mediainto their lives. While today's Internet users are uploading stillphotos, future Internet users may upload home videos to share withfriends, walking tours to accompany their real estate listings, videosto augment their online dating profiles, and the like.

One of the principal barriers to such an Internet-based, rich-mediafuture is the complexity of putting digital video on the web. Uploadingvideo requires a technical understanding of video formats, codecs,players, streaming servers, and so on. The average Internet user simplydoes not understand the intricacies of preparing a video for the web,posting a video to the web, and the like. There exists a need to improvea user's ability to post and view video.

SUMMARY

Provided herein are methods and systems for a manipulation facilitywithin a browser environment, where an editing tool may be adapted toalter the appearance of a clip associated with the manipulationfacility. The clip may be a video clip, an audio clip, a multimediaclip, a podcast clip, an advertisement clip, an interactive clip, or thelike, and the element may be a video element.

The manipulation facility may include a plurality of components, such asa timeline, a time-line slide bar, a start slider, a end slider, amodified indicator, a deleted indicator, an addition indicator, aviewing area, a viewing control, or the like. In addition, the viewingcontrol may be play, rewind, forward, fast forward, frame forward, frameback, pause, slow motion forward, slow motion backward, or the like. Theplurality of components may also include components such as an audiotime-line slider, an audio start slider, an audio end slider, an audiomodified indicator, an audio deleted indicator, an audio additionindicator, an audio editing controller, a file management controller, afile naming facility, a storage location facility, a menu bar, or thelike.

The browser environment may be hosted by a computing facility, such as apersonal computer, a mobile computing facility, a mobile phone, a PDA,or the like. The clip may be associated with a format such as a videocamera, a mobile phone, a still camera, a web-cam, or the like.Additionally, the clip may be stored in memory, such as in local memory,main memory, a mass storage facility, a removable media, a flash drive,associated with a storage location at a network location, on a server,on a client, on a database, or the like.

The clip may be dragged into the manipulation facility with a mouse andmoved into the manipulation facility by moving the mouse, with the mouseand moved in the manipulation facility by using the arrow keys on akeyboard, by selecting the clip using the keyboard, or the like.

The at least one editing tool may provide an editing function, such asdeleting, adding, inserting, a file insertion, an advertisementinsertion, blending, blanking, fading, appearing (opposite of fading), alayover, a contrast, a brightness, a color, an appearance, a shading, afocus, a sharpen, a transform, a graininess, an erase, a cut, cutframes, a paste, pasting frames, painting, patterning, airbrushing, acrop, a copy, adding text, adding audio, a rotate, an annotation,inversion, or the like. Wherein the clip may be altered, such asconcatenation of clips, deletion of portions of clips, a transitionbetween clips, a cropping of clips, insertion of clips, insertion ofadvertisement, a change of color character, a change of focus character,a change of luminance, an addition of text, an annotation, a change ofaudio.

Two clips may be associated by an editing tool, where the associationmay be a transition from one clip to the other, such as a splice, asegue, a concatenation, a blend, a fade, a jump cut, a match cut ageometric shape wipe, an image file wipe, a pattern wipe, a pixelate, orthe like. Further, a transition may alter an image characteristic, suchas a change in chroma, a change in luminance, a change in focus, or thelike. The transition may also set the two clips in juxtaposition.

BRIEF DESCRIPTION OF THE FIGURES

The invention and the following detailed description of certainembodiments thereof may be understood by reference to the followingfigures:

FIG. 1 depicts the functional blocks of a browser-enabled videomanipulation and posting facility according to aspects of the presentinvention.

FIG. 2 depicts aspects of a web browser in an embodiment of theinvention.

FIG. 3 depicts aspects of a publisher in an embodiment of the invention.

FIG. 4 depicts aspects of a player in an embodiment of the invention.

FIG. 5 depicts aspects of an application server in an embodiment of theinvention.

FIG. 6 depicts a workflow diagram for the browser-enabled videomanipulation and posting facility according to aspects of the presentinvention.

FIG. 7 depicts certain functionality of the video manipulation facilityin an embodiment of the invention.

FIG. 8 depicts certain functionality of a multiple video clip viewingand editing embodiment of the video manipulation facility.

DETAILED DESCRIPTION

Throughout this disclosure, reference is made to systems, methods,applications, embodiments, et cetera that are directed at extracting,manipulating, posting, or otherwise acting in association with a videoclip. It will be appreciated, however, that embodiments of the presentinvention may additionally or alternatively be directed at extracting,manipulating, posting, or otherwise acting in association with any andall kinds of clip such as and without limitation an audio clip, amultimedia clip, a podcast clip, an advertisement clip, an interactiveclip, and so on.

An aspect of the present invention involves providing video extraction,manipulation, posting and other related functions through a network userinterface (e.g., browser 108) application. The integration of the videofunctions into the network user interface provides many advantages to auser who wants to ultimately post his videos onto websites 122. Theinvention described herein provides a simple means of posting a videofile to the Internet to anyone familiar with the use of a browser 108.No knowledge of video file formats or Internet protocols is required. Inembodiments, the user merely performs a one-time installation of plug-insoftware to their browser 108, enabling them to drag-and-drop videofiles for immediate extraction, or edit and post a video file to awebsite 122 or other location accessible through the network userinterface.

Aspects of the invention include a user segment and a network segment.The user segment may take the form of a browser plug-in that isdownloaded, or otherwise made available to be associated with thebrowser 108, onto the user's processor-based device, henceforth referredto as a browser enabled processor platform 104. In embodiments, thebrowser plug-in may be directly associated with a browser styleapplication provided by an OEM, or the like, so that the user does nothave to make the association. In other embodiments, a website mayassociate a plug-in with a browser, a user may load and install thebrowser plug-in such that it becomes associated with the browser 108, ora third party, or other entity may associate a plug-in with a browser.The association may result in the plug-in functionality being madeavailable directly through the browser 108 to provide a seamless networkstyle environment for a user wanting to post the video to a website 122or other network location. Embodiments of the invention use separatebrowser plug-ins for a user wanting to post a video file to theInternet, referred to as the publisher 112, and another for a userwanting to view a video file, referred to as the player 128. Users mayperform a one-time download of a browser plug-in which thereafter actsas an extension of the familiar browser environment. In otherembodiments, the two segments of functionality may be offered throughone plug-in or other form of associated software.

In embodiments, the user's browser enabled processor platform 104 may beseparate from the actual video enabled recording/storage device videoenabled recording/storage device 102 (e.g., a digital video camera 102Blinkable to a personal computer, an integral part of the actual videocapture device, such as a video enabled cell phone 102B, or videostorage device such as a form of memory). In other embodiments, thebrowser enabled processor platform 104 may be integrated into a videoenabled recording/storage device 102.

In embodiments, a system according to the present invention may involvea network 118 segment. The network 118 segment may be transparent to theuser 602 and may take the form of an application server 120 for centralcontrol of the certain processes and content delivery networks 124 forthe storage of video files. It will be appreciated that one or moreapplication servers may be provided in embodiments of the presentinvention.

Aspects of the present invention relate to providing a browser-enabledvideo extraction, editing and posting facility to facilitate the postingof video files on personal, professional, enterprise, e-commerce,auction, reverse auction, classified advertisement, real estate, auto,or other types of networked user resource locations.

The publisher 112 and player 128 browser plug-ins (e.g., eitherintegrated as a unified software component or as separate softwarecomponents) may provide the user 602 many DVR-type record and playbackfunctions such as play, stop, rewind, and fast-forward. In addition, thepublisher 112 may provide video editing functions such as video andaudio splicing, segment concatenation, and titling. Transparent to theuser are the automatic features of video file format transcoding andautomatic technology updates. File formats are great in number, and theinvention may transform the user's file format to a common format toease distribution and playback. In order to provide transcoding formultiple devices, the user may have a system according to the presentinvention that may provide automatic updates from an application server120 for future device technologies that become available. In thismanner, the system may provide the user 602 with a facility to upload amanipulated video-clip to a network location 122 (e.g., a webpage orwebsite) with only a general understanding of browser operability.

FIG. 1 depicts the major functional blocks of a browser-enabled videomanipulation and posting facility 100 according to aspects of thepresent invention. In embodiments, the browser-enabled videomanipulation and posting facility 100 may include a browser enabledprocessor platform 104A (e.g., a personal computer or laptop computer)and the browser enabled processor platform 104A may be operating a webbrowser facility 108A. With this configuration, the user of the browserenabled processor platform 104A may interact with a variety of networks118, network locations 122 (e.g., websites), and local applications(e.g. the publisher 112). A video manipulation and posting publisher 112may be directly associated with a network browser facility 108A andthese software components may operate on the browser enabled processorplatform 104A. The publisher 112 may be configured as a browser plug-inor other form of software component that is adapted to be directlyassociated with a browser application 108A. The publisher 112 may be adownloadable software component or it may be delivered to the user ofthe browser enabled processor platform 104A in any number of other ways(e.g., delivered from a CD, DVD, memory stick, portable memory, FTPtransfer, etc.). Once the publisher 112 is presented on the browserenabled processor platform 104A, it may be installed in such a way thatits functionalities (e.g., extracting video files from video sources,editing video, converting video files to playback formats, posting videoto network locations, and other such functionality as described herein)are presented to a user through a user interface 110 associated with thebrowser 108A. This configuration allows a user 602 to interact withnetwork locations 122 through the browser interface and then interactwith any of the publisher's 112 functionalities through the same userinterface. In embodiments, the publisher 112 may also access a harddrive, database 114, or other storage facility for the storing of videofiles or the retrieval of video files.

While the browser enabled processor platform 104A may be a standalonefacility, with respect to some of the other facilities in themanipulation and posting facility, in embodiments, the browser enabledprocessor platform 104A may be directly associated with a video enabledrecording/storage device 102. For example, the browser enabled processorplatform 104A may be integrated into a digital camera 102A such that auser of the digital camera 102A can interact with a network 118 for thepurpose of manipulating and posting a video file.

The publisher 112 may be adapted to interact with one or more types ofvideo enabled recording/storage devices 102. The publisher 112 may beadapted to extract video files from video enabled recording/storagedevices 102, and/or the publisher 112 may be adapted to performfunctions associated with the video enabled recording/storage devices102. A user of the browser enabled processor platform 104A may make adata connection between a video enabled recording/storage device 102 andthe publisher 112 to extract a video file, manipulate the video file,control the video enabled recording/storage device 102, or other videotransfer process.

Once the publisher 112 has extracted a video file from a video enabledrecording/storage device 102, the publisher 112 may be used to edit thevideo file, manipulate the video file, convert the video file to anacceptable format (e.g., a streaming format) for posting to a networklocation 122, or otherwise prepare the file for posting to a networklocation 122. The publisher 112 may then connect to a network 118through a network interface 110A that is associated with the browserenabled processor facility 104A to connect to a network 118. Thepublisher 112 may then post the video file to a network location 122(e.g., a website or webpage).

The browser enabled processor platform 104A may enable aninterconnection to a video enabled recording/storage device 102 that mayor may not be an integral part of the browser enabled processor platform104A. The user, through a drag-and-drop interface within publisher 112,may transfer video files to the publisher 112. The publisher 112 maythen automatically transcode the video files into a common file formatfor network posting (e.g., a streaming format), which readies the videofile for posting to a network location 122 (e.g., the Internet). Theuser may choose to edit the video file prior to posting to the Internetwhere the user would utilize familiar VCR/DVR-type controls, and videoediting tools. For uplink to the network location 122, the publisher 112interfaces with a network 118 through the web browser 108 via thenetwork interface 110A. Video files are then passed from the publisher112 to the content delivery network 124 across the network 118. Anapplication server(s) 120 may assist the data transfer between theuser's 602 publisher 112 and the content delivery network 124 where thevideo files will be stored. In other embodiments, the data transfer mayoccur without the use of an application server(s) 120. Video filesstored on the content delivery network 124 may be linked to a networklocation 122 (e.g., a personal website, professional website, enterprisewebsite, myspace.com website, auction website, reverse auction website,advertisement website, classified advertisement website, auto website,rental website, real estate web site, other forms of e-commercewebsites, or other networked user resource locations) to provide access,viewing and streaming/downloading to other people desiring to interactwith the linked video.

A user interested in interacting with the linked video may interact withthe video files on the content delivery network 124 and view the videofile through the player 128. In embodiments, the ‘viewing’ user 602 mayview the video through a streaming video player, a sequenced videoplayer, a progressive download video player or other video player. Inembodiments, the ‘viewing’ user may interact with the video file postedon the content delivery network 124 by downloading or copying the fileto the user's computing/viewing platform. In embodiments, theapplication server(s) 120 may offer a download of the player 128 forusers that have not previously viewed a video.

A user choosing to interact with a video file that was posted on thecontent delivery network 124 may use his own browser enabled processorplatform 104B equipped with a network browsing facility 108B, networkinterface 110B and player 128 to connect to the video file byinteracting with a link or other such connection facility associatedwith a network location 122 (e.g., a website or page as describedelsewhere herein). The player 128 may be adapted as a browser plug-inthat is adapted to become directly associated or integrated with thebrowser application 108B. In embodiments, the player 128 plug-in may bedownloaded from the content delivery network 124. In embodiments, thedownloading of the publisher 112 may occur as a result of the userattempting to interact with a posted video. The user's 602 browserenabled processor platform 104B may be checked to see if it already hasthe proper player 128 installed and if it does not, the user may beprovided an option to install one, or it may occur automatically or insome of fashion.

While the browser enabled processor platform 104B may be a standalonecomputing system such as a desktop, laptop computer, or the like. Inembodiments, the browser enabled processor platform 104B may beintegrated into a video enabled playback device 132. For example, adigital camera 132A, digital video camera 132B, cell phone 132C, PDA132D, or other video display facility 132E may be directly associatedwith (e.g., integrated with) the browser enabled processor platform104B. A user 602 may use a video enabled playback device 132 to view,download, copy, manipulate, control or otherwise interact with a videofile posted on the content delivery network 124 by connecting to itthrough the linked network location 122.

While embodiments of the present invention illustrate various processesbeing performed by the application server(s) 120, the network locations(e.g. posted websites) 122 and the content delivery network 124, itshould be understood these embodiments are illustrative in nature andthe functions are not limited to the specific structures. For example,some or all of the applications server and content network functions maybe performed through the posting network location servers.

FIG. 2 depicts certain functionality of a web browser 108 in anembodiment of the invention. The web browser 108 may host the publisher112 and/or player 128 (e.g., as an integrated browser plug-in) and mayprovide for the interconnection of the publisher 112 with externalcomponents such as video enabled recording device(s) 132, the network118, file storage (e.g., local storage such as database 114 and database130, or network storage such as on the content delivery network 124)within a browser enabled processor platform 104. The browser 108 mayprovide upload and download functions through the network interface, fortransfer of files to and from the browser enabled processor platform104, provide user interface network navigation tools and provide othersuch network user interface tools. The web browser 108 may also providefor a web interface to the user with functions that include navigationcontrol within web pages, bookmark management, favorite page storage andthe like.

FIG. 3 depicts certain functionality of the publisher 112 in anembodiment of the invention. The publisher 112 may provide for a‘drag-and-drop’ style user interface through which video files from avideo enabled recording/storage device 102 may be transferred to thepublisher 112. Video files may then be transcoded into a formatcompatible with network posting and viewing where the user may utilizeediting features of publisher 112 to modify the video file prior touploading. The edited, transcoded or otherwise manipulated video filemay then be transferred to the content delivery network 124 through thenetwork interface 110A. Video files may also be transferred into thefile storage 114 of the browser enabled processor platform 104 throughthe browser interface. The user 602 may also control parameters thatcustomize the user interface, receive interactive help from apublisher's help software module, and receive automatic updates topublisher 112 software modules. Security software modules may beincorporated to protect the system from disallowed activity.

FIG. 4 depicts certain functionality of the player 128 in an embodimentof the invention. The player 128 provides a user interface that allowsthe download, copying, viewing and interaction of video files previouslystored on the content delivery network 124. Downloading of video files,or otherwise interacting with the files as described herein, is enabledthrough the player's web interface to the browser network interface.Video files may also be stored in the browser enabled processor platform104 through the player's browser interface. Playback controls may bemade available though typical VCR/DVR-type controls such as play, stop,pause, rewind, fast forward, copy, paste, cut, save, and other suchcontrol features.

FIG. 5 depicts certain functionality of the application server(s) 120 inan embodiment of the invention. The application server(s) 120 mayprovide central control of the certain system platform functions such asproviding content deliver network 124 control, providing a centralwebsite for the a publisher's home page, providing account management,providing a source of executable downloads for the publisher 112 andplayer 128 browser plug-ins, providing automatic updates to publisher112 and player 128 sites, providing logging of data flow and usage,providing authorization for use of the components of the system (such asuploading videos to the content deliver network 124), and providingother controls to facilitate the posting, editing, manipulating, andviewing of video files.

FIG. 6 depicts a workflow diagram for the browser-enabled videomanipulation and posting facility 100 according to aspects of thepresent invention. The diagram illustrates interactions that may takeplace during the operation of the facility. (1) First, the browserenabled processor platform 104A, acting as client, may embed thepublisher 112 in the browser enabled processor platform 104A using, forexample, standard object/embed html tags. The browser enabled processorplatform 104A may pass parameters in the html that control theappearance and functionality of the publisher 112. (2) The publisher 112may check for new modules for installation from an application server120 and perform any updates. (3) The user 602 may interact with thepublisher 112 to select a source device and/or source file. (4) Thepublisher 112 may perform another round of updates to check for updatesrequired to use a specific file or device. If the device or file isunsupported, the publisher 112 may report the error to an applicationserver 120. (5) The publisher 112 may open a connection to the contentdelivery network 124 and authorize itself. (6) The publisher 112 maytranscode the source movie file and upload it to the content deliverynetwork 124, where it may be immediately available for viewing via theplayer 128. (7) The browser enabled processor platform 104A may embedthe player 128 in a webpage using html. (8) The player 128 may requestthe file from the content delivery network 124 and (9) begin playingback the video. (10) The application server 120 may monitor traffic tothe content delivery network 124, disable files when they are no longerneeded, and generate reporting data for users 602.

FIG. 7 depicts certain functionality of the video manipulation facility700 in an embodiment of the invention, which may be implemented within abrowser enabled processor platform 104. In embodiments, a video clip 704may be played back and edited in a viewing and editing frame 702 withinthe video manipulation facility 700. The video manipulation facility 700may include a playback control bar 708. The playback control bar 708 mayinclude VCR like functions such as play, fast forward, rewind, or thelike. The video manipulation facility 700 may include a timeline slidebar 710 that may provide a visual representation of the edited state ofthe video clip 704, including indications of percentage edited, segmentsavailable for editing 712, portions deleted 714, segments inserted 734or the like. The video manipulation facility 700 may also provide editor viewing function sliders, such as a start slider 718, an end slider720, a slider to indicate what video clip 704 image frame is currentlybeing viewed 732, or the like. For instance, the timeline start slider718 may allow a user to slide the indicator to where they want theedited video to begin, thereby selecting preceding video for deletion.Likewise, the timeline end slider 720 may allow the user to define wherethe video should end, thereby selecting subsequent video for deletion.

In embodiments, the video manipulation facility 700 may provide ageneral editing tool 722 that allows the user 602 to edit the video clip704, or segments of the video clip 704, by using the mouse to selectportions of the video clip 704 to be modified. In embodiments, theediting tool 722 may provide for selection of frames, segments, or videoclips 704 for editing; selection of a duration of time within the videoclip 704 for editing; simultaneous selection and editing of frames,segments, or video clips 704; continuous editing across a video clip 704or video segment; or the like. The user 602 may have various editingfunctions available to them through an editing tool selection palette724 that may include an eraser, a fade, a transition, a blend, or thelike. During editing, the video manipulation facility 700 may also havevideo clip 704 length indictors 728, such as for the time length ofsegments, combined segments vs. the length of the original video clip704, or the like. Once editing is complete, and the user 602 performs asave, the video manipulation facility 700 may concatenate the remainingsections back together to form a continuous stream of video that may beplayed through the playback control bar 708. This new video clip 704 maythen be saved to memory as a video file by selecting the upload button730.

FIG. 8 depicts certain functionality of a multiple video clip 704viewing and editing embodiment of the video manipulation facility 700.In embodiments the video manipulation facility 700 may be used to view,play, edit, and concatenate a plurality of video clips 704A-F. Forinstance, FIG. 8 shows what may be a primary viewing and editing frame702A, providing viewing and editing capabilities of what may become thefinal edited video clip 704A. In addition, the timeline slider 710associated with the primary viewing and editing frame 702A may beassociated with pull out viewing frames 808 that pull off from specifiedpositions on the timeline slider 710, such as a start frame 802, endframe 804, intermediate frame, or the like. For example, the start frame802 may provide the current start of the edited product, that is, thefirst frame for the non-deleted material currently included in the videoclip 704A being edited. In embodiments, as the user 602 moves the startslider 718, the image displayed in the start frame 802 may also changeto correspond to the new start point. Similarly, the end frame 804 mayprovide the current end of the edited product, that is, the last framefor the non-deleted material currently included in the video clip 704Abeing edited. In embodiments, displayed frames, such as the start frame802, the end frame 804, the current frame 702A, or the like, may providethe user 602 an improved view of the work currently being edited. Inembodiments, a plurality of pull out viewing frames 808 may beimplemented within the video manipulation facility 700.

In embodiments, FIG. 8 illustrates that a plurality of additional videoclip 704B-F viewing frames 702B-F may be utilized in association withthe video manipulation facility 700. These additional viewing frames702B-F may be used to view imported video clips 704B-F that may beselected, in whole or in part, to be integrated into the video clip 704Acurrently under edit. For instance, the video clip 704A currently underedit may be a video clip 704A shot by the user 602. The user 602, afterdeleting unwanted portions of the video clip 704 at the beginning 714Dand end 710E, may download a video clip 704B, say from a posting website122, an e-commerce website 122, from local memory, or like, to one ofthe viewing frames 702B. In embodiments, the user may view the videoclip 704B, and select the desirable segment by deleting portions at thebeginning 714F and end 714G. In embodiments, the user 602 may drag theselected segment of video clip 704B to the timeline slider 710 forplacement into the video clip 704A, creating an insertion 734 into thevideo clip 704A currently under edit. In this way, the user 602 may havea simple interface for viewing, organizing, and including segments fromoutside sources into the video clip 704A currently under edit.

In embodiments, the systems disclosed herein allow companies to addeasy-to-use video encoding and posting capabilities to their existingweb sites 122 with reduced effort and cost. The system may be configuredas an encoding, uploading, hosting, and streaming solution that can beincorporated into a web site 122. Once installed, the system may reducethe complex video encoding and posting process typically required for asimple User Interface, which includes, in embodiments, a “drag-and-drop”interface.

In embodiments, the user may drag-and-drop standard video files into theVideoEgg publisher 112, or may capture video from a webcam 102E,camcorder, cell phone 102C, or any other video capture device. Inembodiments, using the interface, the user may remove sections of avideo and add publishing information such as beginning and end points,as well as a title frame, and other publication information. Inembodiments, the publisher 112 software may transcode the user's videofile to an optimized playback format and upload the file to a playbackserver. In embodiments, the encoded video may be made immediatelyavailable for viewing from the playback server via a Java-based player,a Flash-base player, or other playback option that does not requireexternal players like Windows Media and QuickTime. In embodiments, theplayback format may be streaming, a non-streaming format, for example,the images may be provided in a sequential format, or some otherdownload and or viewing format. In embodiments, the video, or othermedia, may be encoded to play in a Windows Media, QuickTime or otherlike player.

Until now, uploading video has typically required a highly technicalunderstanding of formats, encoders, players, and streaming servers. Byproviding an upload system that employs a drag-and-drop web interface,direct capture from camcorders, and other simplifying features andworkflows, this system may allow Internet users with reduced technicalexpertise, to capture, encode, upload, and distribute video over theworld wide web or other network.

By giving Internet users the ability to post video on the web, thedisclosed systems may enhance the way people communicate online. Thesystems described herein may enable video-enhanced online classifieds ofreal estate, cars, boats, etc.; improve personal profiles for dating andsocial-networking services; enrich online auction postings with productdemonstrations; facilitate sharing home videos with friends and family;enable submission of multi-media projects and reports for school andwork; augment applications to schools, jobs, and programs; enlivenpersonal web sites, social network sites (e.g., myspace.com), emails,and blogs; and provide a variety of other features.

The publisher 112 may be configured as a browser extension which addsdevice interfacing, video capture, encoding, simple editing, uploadcapabilities and other functionality as described herein to a standardInternet browser 108. When a user connects a video-enabledrecording/storage device 102, such as through a USB port or otherhardware connection, or selects a video file, the publisher 112 may beconfigured to read the media, allow the user to make edits, and extractand re-encode each video frame and audio sample into a high qualitycompressed format optimized for playback on the web.

After authorizing transmission through a secure handshake protocol, thepublisher 112 may upload the file to the content delivery network 124; adigital delivery network specifically tailored to handle large-scaleuploads and downloads. The video is now ready for viewing via theplayer. By streaming, progressively downloading, or otherwise presentingthe video directly to a Java-based, Flash-based, or other player,VideoEgg may provide embedded video on the web, often without the needfor an external player such as Windows Media or QuickTime. Inembodiments, the player 128 loads without requiring any download orinstallation for users with Java and/or Flash installed. For users thatdo not have Java or Flash, the system may automatically download a smallplug-in version of a player 128, or other embodiment, of the player 128,allowing playback on users' 602 machines.

In embodiments, the products and services described herein may be usedto service an Internet Listing Service, Dating and Social Networking,Online Media Sharing, Auction markets, and other applications asdescribed herein.

In embodiments, the publisher 112 may accept videos, transcode them forstreaming and uploads them to the content deliver network 124, wherethey are available for streaming to the player 128. The applicationserver(s) 120 provide support services such as installation, updates,authorization and logging.

An embodiment of a process according to aspects of the present inventionshall now be described. A client device may embed the publisher 112directly in a client site using standard object/embed HTML tags. Theclient passes parameters in the HTML that control the appearance andfunctionality of the publisher. The publisher 112 checks for new modulesthat should be installed from the application server 120 and performsany necessary or desired updates. A user may interact with the publisher112 to select a source device and/or source file. The publisher 112performs another round of updates, this time looking for updatesrequired to use the specific file or device. If the device or file isunsupported, the publisher 112 may report the error to the applicationserver 120. The publisher 112 opens a connection to the content deliverynetwork and authorizes itself. The publisher 112 transcodes the sourcevideo file and uploads it to the content delivery network 124, where itis made available for viewing via the player 128. The client embeds theplayer 128 directly into the document using HTML. The player 128requests the file from the content delivery network 124 and beginsplaying back the video. The application server 120 may monitor trafficto the content delivery network 124, disabling files when they are nolonger needed and generating reporting data for Clients.

In embodiments, certain clients may want to host a service internally.In this scenario, the client may pass an alternative content deliverynetwork 124 address and application server 120 address to the publisher112 as HTML parameters. The publisher 112 may upload the video file tothis alternative content delivery network 124, and may use thealternative application server 124 for updates. The application server124 may still be used for non-critical services such as logging. Theself-hosted application sever 124 may mirror files on the applicationserver. If the client wishes to use a different upload or authorizationmechanism, this new mechanism can be incorporated into the publisher 112as an optional pluggable module.

Self-hosting may create a potential security risk since an unauthorizedsite could use the publisher 112 by passing its own content deliverynetwork and bypassing the security check at the content delivery network124. To overcome this, the Client may be given a special key thatauthorizes self-hosting and an ID number associated with this key. Theclient may use this key to encode a pass phrase that is sent along withthe ID as part of the publisher 112 parameters. When the publisher 112receives a request for self-hosting, it first tries to verify that thecontent delivery network address and application server 120 address areauthorized by downloading a list of authorized content deliverynetwork's 124 from the application server 120. If the application server120 cannot be reached, the publisher 112 can use the ID to look up acopy of the secret key which is hard-coded in the publisher, and thentries to decode the passkey to authorize the client.

In embodiments, a browser enabled processor platform 104 may be amicroprocessor or microcontroller-based electronic device capable ofsupporting a browser application. The browser enabled processor platform104 may have a CPU that executes software code for the basic operationof the device. The executable code may include an Operating System,programs, device drivers and other software components. Device driversmay include I/O device drivers and network interface drivers. A devicedriver may interface to a keypad or to a USB port. A network interfacedriver may execute protocols for the Internet, or an intranet, Wide AreaNetwork (WAN), Local Area Network (LAN), Personal Area Network (PAN),extranet, or other network.

In embodiments, the browser enabled processor platform 104 may include amemory facility. The memory facility may contain transactional memoryand/or long-term storage memory facilities. The memory facility mayfunction as file or document storage, program storage, or workingmemory. A working memory facility may include, but is not limited to,static random access memory, dynamic random access memory, read-onlymemory, cache or Flash memory. A working memory facility may, forexample, process temporally-based instructions, in part, by temporarilystoring code relating to an action of a device and purging theinformation from the working memory facility in close temporal proximityto the completion of the action. A long-term memory facility mayinclude, but is not limited to, a hard drive, portable drive, portabledisk (e.g., a CD-ROM, DVD, etc.), tape facility, or other storagefacility. A hardware memory facility may store a fixed information set(e.g., software code) including, but not limited to, a file, program,application, source code, object code, and the like.

In embodiments, the browser enabled processor platform 104 may containhardware for converting analog signals to digital data, or forconverting digital signals into analog signals. An example of convertingan analog signal to digital data may be the conversion of an analogaudio or video source into digital data for the storage of the audio orvideo information for subsequent storage, playback, conversion, transferof the original audio to a digital, microprocessor-based system or toperform another function as described herein. Another example ofconverting an analog signal to digital data may be the conversion ofanalog signals from a light sensor device into digital data for thestorage of visual information for subsequent storage, playback, ortransfer of the original audio to a digital, microprocessor-basedsystem. Visual information may be in the form of still images, icons,graphics, video images, or audio-video images, and the like.

The browser enabled processor platform 104 may have I/O interfaces. I/Ointerfaces may include a hardware network interface, displays, CD/DVD,video enabled recording/storage device video enabled recording/storagedevice 102, keypads/keyboards, printer, or other standard interfaces. Anexample of a hardware network interface may be a broadband connection, adial-up connection, wireless, or other connection. An example of adisplay may be a monitor, plasma screen, or a liquid crystal display. Anexample of a video enabled recording/storage device video enabledrecording/storage device 102 may be a digital camera 102A, digital videocamera 102B, webcam/video capture board 102E, a cell phone 102C,personal digital assistant, pocket pc, notebook, and the like. Anexample of other standard interfaces may include, but is not limited to,a USB port, parallel port, serial port, microphone, or speaker.

A browser 108 may be a software application for navigating a network118, such as the Internet, intranet, extranet, a private network, and orcontent in file systems. A browser 108 may be a software applicationthat enables a user 602 to display and interact with text, images,videos, audio and other content accessible through the network 118(e.g., information typically located on a web page 122 at a website onthe world wide web or a local area network). Text, images, video andother content (e.g., on a web page) may contain hyperlinks to navigateto other web pages at the same or different websites 122. Web browsers108 may allow a user to navigate and access information provided on manyweb pages at many websites 122 by traversing these links. Web browsers108 may also provide other features such as storing the address for afavorite website utilizing the browser's Bookmark Manager. Examples ofbook-marked websites 122 may be hyperlinks to other personal sites,e-commerce sites, government sites, or educational sites. Anotherfeature of web browsers 108 may be caching, where recently visitedwebsites 122 are transferred through the processor interface and storedin processor memory to decrease retrieval time for subsequent calls forthe website 122. Examples of web browsers 108 may be Microsoft InternetExplorer, Mozilla Firefox, Opera, Netscape, or Apple Safari. Althoughbrowsers 108 may typically be used to access the world wide web, theymay also be used to access information provided by web servers inprivate networks or content in file systems.

Web browsers 108 may communicate with web servers through the networkinterface primarily using Hyper-Text Transfer Protocol (HTTP) to fetchweb pages. HTTP may allow a web browser 108 to upload information acrossthe network interface to web servers as well as download web pages fromthem. Web pages are located by means of a Uniform Resource Locator(URL), which may be treated as an address, beginning with http: for HTTPaccess. Many browsers 108 may support a variety of other URL types andtheir corresponding protocols. Examples of other URL types may be ftp:for File Transfer Protocol (FTP), rtsp: for Real-Time Streaming Protocol(RTSP), and https: for HTTPS (an SSL encrypted version of HTTP). Thefile format for a web page may be Hyper-Text Markup Language (HTML).Browsers may also support formats in addition to HTML. Examples of othersupport formats may be JPEG, PNG and GIF image formats, and can beextended to support more through the use of browser plug-ins. An exampleof a browser plug-in may be Macromedia's Flash or Apple's QuickTime. Thecombination of HTTP and URL protocol specification may allow web pagesto have embedded images, animations, video, sound, and streaming mediainto the web page, or make them accessible through the web page.

A publisher 112 may be provided in association with a browser enabledprocessor platform 104 and the publisher 112 may be designed as abrowser plug-in or other integrated software component. The embeddedsoftware component may be adapted to ‘plug-into’ the browser 108 in sucha way that the publisher 112 functionality is presented as functionswithin the browser 108. This may allow a user to launch or otherwiseinterface with a browser style application, which he may be veryfamiliar with, and deploy the publisher 112 functionality withoutleaving the browser user interface. In embodiments, this may provide aconsistent web style experience for the user 602. The user 602 may beusing the publisher 112 to convert a video file to a streaming format,edit the file, and post the file to a website 122 or other associatednetwork location. Using systems and methods according to the presentinvention, the user may feel as if he is interacting with the Internetor other network 118 through a browser application, and manipulating thevideo files as desired all while interacting with the same familiar webbrowser style program. In embodiments, the user may ultimately intend toextract a video file from a video source or storage facility for editingand posting to a website 122 (as further described herein). The user mayget the impression that he is accomplishing all or many of the functionswhile connected to and interfacing with the network 118. This mayprovide a seamless network experience because the user opens hisinterface to the network 118 (e.g., his browser application) and thenworks within that interface environment to manipulate and post his videoon an intended website 122.

In embodiments, the publisher 112 may be an embedded browser plug-in. Aplug-in may be a program that is designed to interact with anotherprogram to provide certain functions. The browser plug-in may be adaptedto plug into, or otherwise interface with, a browser-style softwareapplication. In embodiments, the browser plug-in may be deliveredthrough a CD, DVD, or portable drive, downloaded from an applicationserver 120, provided with hardware, or otherwise provided. Examples offunctions that plug-ins may provide include, but is not limited to,adding the capability of displaying specific graphic formats (e.g., SVGif the program doesn't support this format as apart of its standardfunctionality), to play multimedia files, to encrypt/decrypt email(e.g., PGP), or to filter images in graphic programs. A primary program,such as a web browser 108 or an email client, for example, may provide away for plug-ins to register themselves with the program, and a protocolby which data is exchanged with plug-ins.

The functions that the publisher 112 plug-in may add to the standardbrowser functionality may include a user interface for receiving videofrom multiple sources, editing the video, encoding the video into a newformat, and posting the video to a website 118. The publisher's webinterface may be facilitated by the browser's network interface madethrough the browser enabled processor platform's 104 network connection.The publisher 112 may open a connection to a content deliver network 124to upload the transcoded files to streaming servers. The publisher 112browser plug-in may provide secure handshake protocols andauthentication with the application server 120. Publisher 112 may alsostore files locally on the browser enabled processor platform 104through the browser's interface.

The publisher 112 browser plug-in may supply a drag-and-drop interfaceto the browser's functionality that allows for simplified video encodingand posting of video files to a network 118. The drag-and-drop interfacemay provide for the receiving of video from a variety of sources. Anexample of a video source may be a webcam/video capture card 102E. Thewebcam/video capture card 102E may use start and stop capture buttons tocontrol captures from these video devices. Since these devices do notprovide integrated audio sources, publisher 112 may allow for theselection of an audio source from a dropdown list, and set audio recordvolume using a slider and an audio level meter. A preview window maydisplay the live video stream. Another example of a video source may bea digital video camera 102B. The publisher 112 may capture video andaudio directly from digital video cameras 102B, either capturing thelive feed from the camera, or reading a stored video off a tape, forexample. In the latter case, the publisher 112 may provide VCR/DVR-stylecontrols that allow the user to queue up the tape. A “StartCapture”button may begin capturing video and audio from the device, and a ‘stopcapture’ button may end the capture. A preview window may display thevideo feed from the device. Another example of a video source may be avideo enabled cellular phone 102C. Publisher 112 may also capture Email,MMS, SMS or other messaging from the cell phone 102C. A user may uploada video via a video message, downloaded video, video accessed via abrowser 104, etc. from a video-enabled cell phone 102C. The user may beprovided a unique numerical email, or other messaging code, or otheraddress (e.g. 1234@videoegg.com) to which to send the video message. Theend user may send a video message to this address, where an SMTP server,and/or other configuration of server, will receive the message, parsethe video file, and store it. The server may also store the associationbetween the ID number (1234) and the path on the server of the storedvideo file. Once the email is received, the publisher 112 mayautomatically download the video file from the mail server. Otherexamples of a video and/or audio source may be a CD, DVD 102D, a cellphone 102C, personal digital assistant, pocket pc, notebook, and thelike. The publisher 112 may read audio and video directly from a CD orDVD 102D, and read video files from still cameras, or other devices,that support video. The publisher 112 may also provide the ability todirect capture video from the source.

In embodiments, sources of video may use a wide variety of file formats,which may complicate the process of posting video files onto a network118. The publisher 112 browser plug-in may allow for the translation ofone file format to another file format. Publisher 112 may choose acommon file format to translate into in order to establish a standardfor the service. The translation of code from one format to another isreferred to as transcoding. Publisher 112 may transcode into a commonformat from a plurality of file formats. Some examples of these formatsare: WMV, ASF, MPEG, 3GPP, 3GPP2, A-GIF, DV, FLIC, AMC, MPET1, MPEG2,MP4, MOV, VDU, WMV7, WMV8, MPG1, MPG4, CinPak, MSM45, MSM41, MSM42,MSM43, RVU9, ACLEP, MJPEG, Apl Ani, Apl Vid, MJPGA, MJPGB, H.261, H.263,comp V, DV-N, DV-Pal, DVCP-N, DVCP-P, MSVid1, SrVid2, SrVid3, Indeo3,Indeo5, and Flash 5.

Publisher 112 may retrieve automatic updates to provide transcoding fornewly emerging file formats as they become available. Publisher 112 mayprovide for automatic updates to the publisher 112 software modules asthe plug-in source code is updated. Error generation for unsupporteddevices or functions may be provided to the application server 120,which logs them for action. Actions may include the installation of anew module, the installation or update to an external dependency such asQuickTime or DirectX, display of the error message, or the running of adiagnostic tool.

The publisher 112 browser plug-in may provide a video editing functionthrough the video manipulation facility 700 for the modification ofvideo files after download from the source. In embodiments, the videomanipulation facility 700 may be provided within any browser enabledprocessor platform 104. The video manipulation facility 700 may includea plurality of video editing and video manipulation functions, such asdeleting segments, adding segments, modifying segments, utilizing agraphical video timeline 710 for editing video, providing an editingtool 722 in association with the video timeline slide bar 710, importingvideo clips 704, organizing video clips 704, saving edited work as a newvideo clip 704, simultaneously viewing multiple video clips 704,dragging video clips 704 between different viewing frames, editingmultiple video clips 704 in association with one another, or the like.In embodiments, the video manipulation facility 700 may provide the user602 with a graphical user interface that allows an intuitive andpowerful tool for the creation of personalized video products.

In embodiments, the video manipulation facility 700 may provide for theediting and/or manipulation of video clips 704 or video segments ofvideo clips 704. For the purposes of this document, the term video clip704 refers to images produced from a video file, where a video file maybe a computer file that includes data relating to video images,progressive images, audio, audio tracks, metadata or other such data.For example, a video file may be formatted as an .asf, .asx, .avi, .mov,.mp4, .mpg, .qt, .rm, .swf, .wmv, or the like. In embodiments, the videofile format may be sourced from a plurality of facilities, such as avideo camera, a mobile phone, a still camera, a web-cam, a previouslystored file, a previously modified file, or the like. The video clip 704may be a continuous sequence of images; a previously edited sequence ofimages; a mixture of still images, audio, sequenced images, and editedeffects; or the like, presented to a user interface such as the videomanipulation facility 700. The video segment may be a portion of a videoclip 704 that is the result of editorial dividing of a video clip 704.This portion of the video clip 704 may be referred to as a segment untilit is saved as a separate video file. For example, when a user 602divides a video clip 704, such as by deleting various portions of thevideo clip 704 as a part of an editing process, each new portion of thesequence may be referred to as a video segment. The term video segmentmay be useful for describing the editing process, and may be applicableuntil the file is saved. When the concatenation of the various segmentsand editorial effects is complete, and the file is saved, the file mayagain be referred to as a video file. When the new video file is openedfor viewing, the resulting images may be referred to as a video clip 704again.

In embodiments, the video manipulation facility 700 may provide for aplurality of components, such as a timeline, a timeline slide bar 710, atimeline start slider 718, a timeline end slider 720, a current viewslider 732, a modified indicator, an indicator of deleted portions ofvideo sequence 714, an indicator of areas that have not been deleted andmay be selected for editing 712, an indicator of areas that have beeninserted 734, a viewing and editing frame 702, an audio timeline slider,an audio start slider, an audio end slider, an audio modified indicator,an audio deleted indicator, an audio addition indicator, an audioediting control facility, file management facility, a menu bar, aplayback control bar 708, or the like. In embodiments, the playbackcontrol bar 708 may include a plurality of viewing controls, such asplay, rewind, forward, fast forward, back, pause, slow motion forward,slow motion reverse, or the like.

In embodiments, the video manipulation facility 700 may be associatedwith a computer facility, such as a personal computer, a mobilecomputing facility, a mobile phone, a PDA, or the like. Where the videofile may be stored in memory, such as local memory, main memory, a massstorage facility, a removable media, a flash drive, a storage locationon the network 118, on a server, on a client, in a database, or thelike. In embodiments, the video manipulation facility's 700 timelineslide bar may be associated with a physical manipulation facility, suchas a keyboard, a keypad, a touch pad, a mouse, a drawing tablet with apen, or the like. In embodiments, the video clip 704 may be dragged intothe video manipulation facility 700, where the video clip 704 may bedragged with a mouse and moved into the video manipulation facility 700by moving the mouse, where the video clip 704 may be dragged byselecting the video clip 704 with the mouse and moved by using the arrowkeys on a keyboard or keypad, where the video clip 704 may be dragged byselecting the video clip 704 using the keyboard, or the like.

In embodiments, the video clip 704 may be presented in association withat least one other visual element, such as another video clip 704 frame702, a start frame 802, an end frame 804, an intermediate frame 702, apoint of insertion for a video clip 704, an edited version of a videoclip 704, an unedited version of a video clip 704, a frame 702 thatshows the video clip 704 prior to application of a visual effect, aframe 702 that shows the video clip 704 after an application of a visualeffect, or the like. In an embodiment of the invention, FIG. 8 shows onepossible configuration of viewing and editing frames 702, including whatmay be a primary viewing and editing frame 702A, a plurality ofadditional viewing frames 702B-F, and two possible pullout frames 808,the start image frame 802 and the end image frame 804, in which videoclips 704 may be presented.

In embodiments, the editing of a video clip 704 may include a pluralityof operations, such as deleting a portion of a video clip 704, adding aportion of a video clip 704, inserting a portion of a video clip 704,dividing a video clip 704 into segments, altering a video clip 704, andthe like. In embodiments, the alteration of a video clip 704 may includecropping of video clips 704, insertion of video clips 704, insertion ofadvertisement, insertion of an image frame, insertion of animation,concatenation of video clips 704, deletion of portions of video clips704, changing the color character, changing the focus character,changing the luminance, adding text, annotation, changing the audio, orthe like. In an embodiment of the invention, FIG. 7 shows the editingtool 722 in association with an editing tool selection palette 724. Forthe sake of illustration, only a limited number of edit operations aredepicted in the editing tool selection palette 724 of FIG. 7, and doesnot limit the editing operations included in the invention.

In embodiments, the plurality of operations may also include deleting,adding, inserting, file insertion, advertisement insertion, blending,blanking, shading, fading, appearing (the opposite of fading), layover,a change in contrast, a change in brightness, and change in color, andchange in graininess, a change in appearance, a change in focus,sharpening, transforming, erasing, cutting, cutting frames, pasting,pasting frames, painting, patterning, airbrushing, cropping, copying,adding text, adding audio, image rotation, frame rotation, annotation,inversion, or the like.

In embodiments, the plurality of operations may also include atransition from one video clip 704 to another video clip 704, such as asplice, a segue, a concatenation, a blend, a fade, a jump cut, a matchcut, a geometric shape wipe, an image file wipe, a pattern wipe, apixelation, a change in chroma, a change in luminance, a change infocus, transitioning from a first image to a second image set injuxtaposition with the first, or the like.

In embodiments, at least one of the plurality of operations may includedividing the video clip 704 into more than one video segment, where oneof the video segments may be deleted, edited, saved as a video file,saved as a video clip 704, or the like. In embodiments, the segment ofthe video clip 704 or video file may have been previously edited. In anembodiment of the invention, FIG. 7 shows an example of how the timelineslide bar 710 may represent various video segments and the operationsthat they have been involved in. For instance, the timeline slide bar710 of FIG. 7 may show that a video segment at the beginning may havebeen deleted 714A, a video segment at the end may have been deleted714C, a video segment in the middle has been deleted 714B, a videosegment has been inserted 734, and two video segments remain 712A-B fromthe original video clip 704. The visible indicators shown in FIG. 7 aremeant to be illustrative, and should not limit the visual representationof video clips or video segments as presented by the timeline slide bar710, the visual depiction of the timeline slide bar 710, the editingtool 722, the editing tool selection palette 724, or the like.

In embodiments, the timeline slide bar 710 associated with the videomanipulation facility may include a plurality of functions. The timelineslide bar 710 functions may be presented as a palette, such as verticallist of functions, a horizontal list of functions, a drop-down menu offunctions, a pull-up menu of functions, or the like. Functions presentedas a palette may be located anywhere on the screen, chosen from atimeline area to be edited, chosen from the viewing area, or the like.Functions may be selected by clicking on the linked text, selected bychoosing from a menu, selected by command line, or the like. Thetimeline slide bar 710 functions may be organized on an editingtemplate, such as window, a pop-up list, a drop-down menu, atwo-dimensional selection space, a slider, as buttons, or the like,where the organizational facility may be moveable, slideable,rotateable, clickable, or the like.

In embodiments, functions of the timeline slide bar 710 may beassociated with a video timeline, an audio timeline, a linear timeline,a curvilinear timeline, a circular timeline, a two-dimensional timeline,or the like. Timeline slide bar 710 functions may also be associatedwith a visual element, such as a blank area, as a patterned area, as animage, as a video image, as a faded area, as a blended area, as aleader, as a trailer, as an interstitial, as a temporal image, as avideo, as a label, or the like. In embodiments, the visualrepresentation of the video slide bar 710 may be presented in aplurality of configurations, and may aid in the viewing and/or editingof video clips 704.

In embodiments, the display of video clips 704 may be presented within aviewing frame 702 that may be associated with the video clip 704currently being edited, currently being viewed, imported from anexternal source, or the like. The viewing frame 702 may be incoordination with the timeline slide bar 710, such as displaying animage frame indicated by the timeline start slider 718, timeline endslider 720, an intermediate time slider, a current view time slider 732,or the like. In embodiments, a plurality of viewing frames 702 may beassociated with the viewing and editing of the video clip 704. Forinstance, FIG. 8 shows one of a plurality of different viewing frame 702configurations, where the viewing frames 702B-F at the top of the figuremay show video clips 704B-F that have been imported from externalsources, previously edited video clips 704B-F, previously selected videosegments, or the like. These video clips 704B-F may be associated withthe on going editing of a video clip 704A. In embodiments, the videoclip 704A currently being edited may be presented in a separate viewingframe 702A. In embodiments, viewing frames 702 may be associated withthe timeline slide bar 710, where each viewing frame may have its owntimeline slide bar 710, where a timeline slide bar 710 may be associatedwith a plurality of viewing frames 702, where a viewing frame may beassociated with an editing function such as a time line slider, where aviewing frame changes in response to changes in the time line slider, orthe like.

The viewing frame 702 may be associated with a timeline slide bar 710indicator. In embodiments, this viewing frame 702 may be a pullout frame808 that may be created by selecting a location or slide indicator onthe timeline, and dragging out a pullout frame 808. For instance, FIG. 8shows a pull-out viewing frame 808 that may have been dragged out fromthe timeline start slider 718, displaying a start image frame 802 inassociation with the timeline start slider 718 of the video clip 704Acurrently being edited. Similarly, FIG. 8 shows a pullout frame 808 thatis associated with the timeline end slider 720, displaying the end imageframe 804. In embodiments, the number of pull out viewing frames 808 maybe configurable by the user 602.

In embodiments, FIG. 8 provides only one of a plurality of differentconfigurations for the visual display of the video manipulation facility700. The layout of viewing frames within the video manipulation facility700 may be displayed in various configurations, such as viewing framesconfigured side by side in a horizontal orientation, side by side in avertical orientation, arranged in a diagonal orientation, or the like.The layout of viewing frames may also be in a variety of geometricpatterns, such as in a square, a rectangle, a triangle, a circle, or thelike. In embodiments, the arrangement of viewing frames 702, editingtool selection palette 724, timeline slider bars 710, playback controlbar 708, or the like, may be configurable by the user 602.

In embodiments, the video manipulation facility 700 may be used tocreate personalized video products from a combination of user 602 videorecordings; outside sources such as friends, the internet, e-commercewebsites; the editing, viewing, and organizational features of the videomanipulation facility 700, and the like. Examples of video products mayinclude advertisements, announcements, personals postings, socialnetwork postings, virtual tours, visual blog, news summary, videowedding album, auctions, or the like.

In embodiments, the video manipulation facility 700 may be used tocreate an advertisement to sell an item. For instance, say a user 602wants to sell an elliptical workout trainer on e-bay. They may want tocreate an exciting and informative video that presents the ellipticaltrainer in a way that portrays the benefits of using an ellipticaltrainer in general, as well as showing that this particular ellipticaltrainer is a quality product, in good shape and worth the asking price.The first thing our user 602 might do is to record a video of theirelliptical trainer in use, perhaps with an attractive and healthy personexercising on the equipment. The user 602 may record enough video toinsure that when they go to edit, they have plenty of material to choosefrom.

The user 602 may then connect their video enabled recording and storagedevice 102 to their browser enabled processor 104, and opening thepublisher 112, drag the video file into the video manipulation facility700. As presented in FIG. 8, the user 602 may drag the video file to anyof a plurality of available viewing frames 702 within the visual displayof the video manipulation facility 700, say for instance into theviewing and editing frame 702A, which may be associated with a timelineslide bar 710 with full editing capabilities. The user 602 may now beginthe process of editing and augmenting their video clip 704, with the endgoal of producing a finished product to be posted, perhaps onto ane-commerce site such as e-bay.

The user 602 may begin the editing by evaluating their raw video fileand determining what segments they what to keep, and what segments theywhat to delete. As shown in FIG. 7, the user 602 may utilize thetimeline slide bar for this initial editing. In an embodiment, the user602 may move the timeline start slider 718 to select the beginning ofthe first segment to keep, and then move the timeline end slider 720 toselect the end of the last segment to keep. In this way, the user 602may conveniently mark unwanted segments of the video clip 704 at thebeginning and the end of the video clip 704, for deletion. The user 602may then utilize the editing tool 722, and selecting the eraser functionfrom the editing tool selection pallet 724, to delete additionalsegments 714B of the video clip 704. In embodiments, the action ofselecting the segment and deleting may be made in two steps, that is toselect the area and then subsequently choose to delete or erase thatsegment, or in one step, that is to drag the editing-eraser tool 722over the area to be deleted, thus erasing in one step.

In embodiments, the beginning and end points of the erased segments maybe adjusted as many times as the user 602 wants. As segments are markeddeleted, the playback control bar 708 may be utilized to play theremaining undeleted segments back as a single concatenated videosequence. The user 602 may continue to adjust the positions of timelinesliders, and end-points of erased segments, until satisfied with thesequence. In addition, various video clip 704 and/or video segment times728 may be displayed for the convenience of the user 602, for instance,the edited length of time vs. the maximum length of time (the originalvideo clip's 704 length). These time indicators may be used to betterenable the user 602 to monitor the length of the final video sequence.The user 602 may then save the final sequence as a new video file,either saving to local memory, or uploading 730 to a site on the network118.

In embodiments, the user 602 may also utilize a plurality of editingfunctions, as previously discussed, to modify the video clip 704. Oneexample of this may be to utilize a transition tool to modify thetransitions created during deleting. Again, in embodiments, the editingtool may allow for these edits to be executed in a two-step, select thenexecute implementation, or in a one-step drag/execute implementation.The user 602 may also utilize multiple viewing frames 702 and pulloutframes 808 to help keep track of the editing process, as shown in FIG.8. For instance, in addition to the current view frame 702A, the user602 may utilize a number of pullout frames 808 that are associated withpoints on the timeline slider 710. Examples of pullout frames 808 may bethe start image frame 802, the end image frame 804, an intermediateimage frame, a transition point, or the like. In embodiments, the use ofmultiple viewing frames may better enable the user 602 to keep track ofthe editing process.

In embodiments, the user 602 may want to augment their own video of theelliptical trainer with video clips 704 from an outside source, such asfrom the product website for the elliptical trainer, from public videoarchives such as Google-video or U-Tube, from video shot by a friend, orthe like. The user 602 may want to search the Internet for video clips704 that could be added to their own footage. In embodiments, as theuser 602 finds video clips 704 that may be useful, the user 602 may dragthose video clips 704 into viewing frames 702B-F in the videomanipulation facility 700. These viewing frames 702B-F may be associatedwith timeline slide bars 710 that enable the user 602 to select thedesired segment from the original video clip 704. In embodiments, thenumber, arrangement, and timeline slide bar functionality of theseviewing frames 702B-F may be user 602 configurable.

In embodiments, the user 602 may now combine the segments acquired fromexternal sources with their own previously edited video of theelliptical trainer. For instance, the user 602 may now have asatisfactory initial video sequence, edited from their originalrecording from their video enabled recording and storage device. Theuser 602 may also have downloaded a variety of video clips 704B-F fromthe Internet, and subsequently trimmed them to a desired length. Theuser 602 may now want to insert some of these video clips 704B-F intotheir edited video clip 704A. In embodiments, the user 602 may be ableto drag the video clip 702B to a location on the timeline slide bar710A, which may insert the video clip 704 into the user's 602 video clip704A sequence. For example, if the user 602 wanted to insert the productintroduction video clip 704B from the product website, right at thetimeline start slider 718, the user 602 may drag the video clip 704A tothe location of the timeline start slider 718 on the timeline slide bar710A, and insert. In embodiments, when the drag/insert was complete,there may be a visual indication of insertion 734A at that location. Theuser 602 may repeat this routine, say, by inserting another video clip704C to an intermediate location along the timeline slide bar 710A, andthe video clip 704C would be inserted with another visual indication ofinsertion 734B. In this way, the user 602 may have an intuitivegraphical interface for the concatenation of a plurality of video clips704 from a plurality of sources.

In this example, the final concatenated video sequence, for the purposeof selling an elliptical trainer, may consist of a first segment takenfrom the product website that introduces the product and itseffectiveness, a second sequence shot by the user 602 showing anindividual using the specific product, a third sequence from theinternet, and finally a forth user 602 segment panning around the itemfor sale. The user 602 may now continue to add effects, transitions,audio, text contact information, animations, or the like, to produce thefinal video clip 704. This final video clip 704 may be saved anduploaded to the target Internet site, e-bay for instance, to beavailable for interested users 602 to view with player 128 on theirbrowser enabled processor platform 104B.

In embodiments, the user 602 may utilize the video manipulation facility700 to create personal video projects, such as a video wedding album.Video clips 704 may be taken from a plurality of different guests, on aplurality of different video enabled recording and storage devices 102.In an embodiment, a single user 602 may what to create a single editedvideo clip 704 from the plurality of sources, as a video wedding albumfor the bride and groom. First, the user 602 may need to collect theplurality of video clips 704 from a plurality of sources. For instance,guests may have recorded video clips 704 from a digital camera 102A, adigital video camera 102B, a cell phone 102C, a web cam 102E, or thelike. Guests may save these video clips 704 to a personal website, ane-commerce website 122, onto a personal computer, or the like. Guestsmay also e-mail their video clips 704 to the user 602, provide the user602 with the video clip 704 on portable memory media, provide the user602 with a direct connection from their video enabled recording andstorage device 102, or the like. The browser-enabled video manipulationand posting facility 100 may provide a straightforward and intuitive wayfor the user 602 to collect and organize these video clips 704 from aplurality of external sources.

In embodiments, the user 602 may utilize the multiple viewing frame702B-F capabilities of the video manipulation facility 700 to collectand display all the video clips 704 as downloaded from their sourcelocations. With the timeline slide bars 710 associated with each of theview frames 702B-F, the user 602 may select the desired video segmentthat is to be inserted 734 into the video clip 704A currently underedit. In embodiments, this video clip 704A currently under edit may beblank until the first video clip 704B-F is inserted. In embodiments,multiple viewing frames 702B-F may contain the same video clip 704 inorder to facilitate the selection of multiple video segments from thesame video clip 704. In addition, the user 602 may also search theInternet for video clips 704 that might complement the video clips 704provided by guests, such as music video clips 704, other wedding scenes,video segments from TV shows, video clips 704 from the banquet hall'swebsite, or the like. Once the user 602 has assembled the video clips704 for inclusion, and used the timeline slide bar 710 to select thedesired video segment from these video clips 704, the user 602 mayassemble and edit the final product, in a manner as previouslydescribed. The video manipulation facility 700 may better enable a user602 to more easily pull together a final edited video product, like avideo photo album, from disparate sources.

In embodiments, the present invention may enable a user 602 to moreeasily create their own video blog from video clips 704 available on theInternet. For instance, the video websites 122 such as U-tube and Googlecurrently provide access to videos on a plurality of topics; many innear real-time. These videos may provide the raw material for the publicconcatenation of available video clips 704. This current video accessmay only be the first wave of global video usage, that is, people maynow be watching videos from many different and independent sources. Butthey may not have started to inject themselves into the process, theirown opinions, views, disgust, activism, and individual expression.People may react when they see these images and video clips 704, butcurrently, their only reaction medium may be limited to talk, writing,blogging, or the like. The present invention may allow people to producetheir own news-moment, by collecting a theme-based set of video clips704B-F, and concatenating and editing them together into a finishedproduct. This final product may serve as an artistic reflection, apolitical statement, a pubic announcement, an activism, or the like.

In this way, the user 602 may be able to freely pull in multiple videoclips 704B-F and produce a final or ongoing piece, a video blog-likeproduct, adding their own video clips 704 and inserting their own viewsthrough video, text, animation, or the like. The present invention mayenable users 602 to do with videos, what they've been doing with textblogs. Blogs may be a form of journalism, or rather, ordinary peoplebecoming journalists of the time, reporting in words what they've seenand how they feel. But a visual blog, a visual vehicle for deliveringtheir own views of the current times, may provide significantly moreimpact, than mere words. The present invention may enable users 602 tobecome mini documentary moviemakers, collecting the video clips 704B-Fof the day and creating their own near instant, interpretive creationsof what is going on in the world, in school, in town, with their family,or the like. The user 602 may be making a movie/video file, from publicdomain video clips 704, their own video clips 704, a friend's videoclips 704, that reflect something they feel, see, want to promote, sendto friends, politicians, schools, the news networks, or just out ontothe Internet.

In embodiments, in order to facilitate this sort of new medium ofexchange, the user 602 may want to quickly drag and drop video clips 704they find on the Internet into one or more viewing frames 702B-F. Thepresent invention may give the user 602 a facility to pull in everythingthey find on their subject into a palette of video clips 704B-F fromwhich to produce a final product. The user 602 may record their ownvideo clip 704 opinions to add in, simply dragging them in off the videoenabled recording and storage device 102. Then the user 602 may begin toproduce the product. Using one editing and viewing frame 702A as theirproduction space, they may insert the segments they what from all theviewing frames 702B-F they've collected, into their own order andconfiguration. The user 602 may edit and modify the concatenatedsequence, adding effects and text, cutting in still frames, freezingframes, fading, or the like.

In embodiments, the user 602 may pull in audio tracks onto anedit-slider parallel to their video timeline slide bar 710. The user 602may utilize pullout frames 808 from any part of the video sequence. Thismay allow the user 602 to more easily track what they've put together asthey edit, which may be especially important for when the user 602starts adding audio tracks. These pullout frames 808 may more easilyallow the user 602 to see the entire production sequence. In the end,the user 602 may have a quick and simple means for producing a shortinterpretive ‘film’ from, and then back into, the public video domain.In embodiments, the present invention may allow the user 602 to become apart of the local/national/global discourse, able to blogvideo-opinions-reactions, rather than just words.

In embodiments, the video manipulation facility 700 may provide animproved facility for the posting to an on-line personals website.Traditionally a personals website may have a number of still images ofthe individual being introduced. The present invention may enable animproved way to present the individual through the creation of apersonalized video clip 704. For instance, the user 602 may utilize thevideo manipulation facility 700 to enhance a video clip 704 recorded bythe user 602. This video clip 704 may have the purpose of introducingthe personal side of the user 602, including preferences, hobbies,activities, and the like. The video clip 704 may have been recorded by afriend and require editing, including selecting segments to be deleted,segments to be modified, transitions between segments, or the like, thatmay be provided through the video manipulation facility 700 aspreviously described. As shown in FIG. 8, the video manipulationfacility 700 may enable the user 602 to download other video clips704B-F from external sources such as the Internet, to insert into theuser's 602 video clip 704A currently under edit.

As an example of how the video manipulation facility 700 may helpimprove the user's 602 final edited video clip 704A for their submissionto an on-line personals website, suppose the user 602 enjoys hiking inthe mountains. The user 602 may search and download from the Internet,video clips 704B-F of mountains and hikers. The user 602 may then usethe timeline slide bar 710 associated with the viewing frames 702 toselect the desired segment from the video clips 704B-F. The user 602 maydetermine which segments from the downloaded video clips 704B-F they maywant to insert into their video clip 704A currently under edit. Perhapsone of the video clips 704C shows hikers climbing one of the user's 602favorite mountains, and the user 602 decides to insert 734 the videosegment into their own video clip 704A just after the user 602 hastalked about how much they like to hike in the mountains. Transitioneffects and other editing functions may now be applied through the videomanipulation facility 700. In this way, the present invention mayprovide a more intuitive and efficient way to assemble and edit a videoclip 704 that utilizes a combination of the user's 602 recorded videoclip 704, editing functions of the video manipulation facility 700,video clips 704B-F from external sources, the multi-clip handlingcapabilities of the video manipulation facility 700, or the like.

In embodiments, the video manipulation facility 700 may better enablethe production of a video tour of the items for sale at an auction, suchas an estate sale. The user 602 responsible for producing an on-linepreview of the items for sale may use the present invention as anintuitive facility for quickly getting the job done. For instance, theuser 602 may walk the auction site, recording each item with their videoenabled recording and storage device 102, and download the recording totheir browser enabled processor platform 104. The recorded video clip704 may then be dragged into the editing and viewing frame 702A fordetailed editing. In addition, the user 602 may easily import videoclips 704B-F that are standard headers and trailers for the auctionsite, to be inserted into the video clip 704A currently being edited.The user 602 may use the timeline slide bar 710, editing functions ofthe editing tool selection palette 724, and the editing tool 722 tomethodically select and editorially enhance the video sequences for eachof the items for sale. In embodiments, as the user 602 is editing thevideo sequence for each item for sale, they may utilize a pull-out frame808 to select a single frame image of that item to be used as athumbnail image on the auction site website. These thumbnails may belinked to the video segment of that item, a separate video clip 704 forthat item, an information description of the item, or the like. The useof timeline slide bar 710, and associated pullout frames 808, mayprovide an easier and more effective way for the auction site to producean interactive website for the auction.

In embodiments, the video manipulation facility 700 may provide anintuitive graphical interface for the creation of a virtual tour of afacility or site. For instance, say the National park service what's tocrate a virtual tour of Minute Man National Historical Park, where thefirst battle of the American Revolution took place. The user 602assigned to the task may create a script for a monolog, and a list ofhistorical sites and scenes to be included. The user 602 may then recordthe video monolog against some historical backdrop. This video clip 704may be the primary video clip 704A into which other video segments maybe inserted, and overall editing may take place. The user 602 may recordnew footage of the historical scenes to be included, use existing videofiles in local memory, search and download video clips 704 from theInternet, or the like.

These video files 704B-F may be dragged into and viewed by the videomanipulation facility 700. The desired video segment from each videoclip 704B-F may be selected utilizing the timeline slide bar associatedwith each viewing frame 702B-F, and inserted 734 into the appropriateplace along the timeline slide bar 710A of the recorded video clip 704Afrom the original monolog. The editing tool may be used to apply editingfunctions as previously described, such as adding in text information onthe history of each site, providing transition effects betweenconcatenated video sequences, adding editing effects to enhance thevideo sequences to create a historical feel, or the like. Inembodiments, the present invention may provide an improved way to createa virtual tour from a combination of new video clips 704, existing localvideo clips 704, video clips 704 from the Internet, or the like. Thepresent invention may also provide a graphical interface forimplementing the editing of the virtual tour that enables the user 602to more quickly produce the finished product.

In embodiments, the present invention may enable a quick and simple wayto create video announcements for professional or personal use, such asa new product or new employee announcement to be e-mailed to allemployees of a company, a township announcement to be posted on a thetown's website, a family announcement to be e-mailed to everyone in thefamily, or the like. For example, a company may want to have a campaignthat better acquaints employees with the products of the company, butdoesn't want the cost of a professional video production team. Inembodiments, the present invention may provide a quick and simple wayfor a user 602, who is not a professional in video production, to createthese product announcements. Say the product is a new digital camera.The user 602 assigned to the task may want to create a very simplethree-minute video that highlights the camera, and explains its featuresas compared with other similar cameras. The user 602 may start byrecording a close-up of the digital camera, panning around the camera toshow all sides of the product. Next, the user 602 may drag the videofile into the editing and viewing frame 702A for editing, insert otheravailable video clips 704B-F, add overall editing and transitioneffects, or the like, as previously described.

In embodiments, the video manipulation facility 700 may provide a way torecord audio as a separate track, with a separate timeline slide bar710, to enhance the product announcement. The audio and video timelineslide bars 710 may be associated with one another through the graphicalinterface of the video manipulation facility 700. In embodiments, theuser 602 may be able to create a plurality of audio timeline slide bars710 in association with the video clip 704A currently under edit. Forexample, the user 602 may record a voice-over for the video clip 704 toprovide the description of the product. Further, the user 602 may inserta music track that that may provide a background mood for the productionpiece. In embodiments, the video clip 704 length indicators may providea way for the user 602 to cut the video clip 704 to match the length ofthe selected music track. In this way, a user 602 may be able to quicklyand inexpensively produce a product announcement from multiple video andaudio sources. In embodiments, there may be a plurality of announcementtypes that may utilize the present invention to quickly and costeffectively produce a final audio-video product.

In embodiments, publisher 112 may provide a help function through a helpicon. The publisher 112 may provide contextual help, guiding the userthrough the process by layering explanations. Help text may be triggeredfor an unsupported device which will walk the user through the issue.Unexpected errors may trigger diagnostic tools which will walk the userthrough self-diagnosing the problem.

Publisher 112 may be platform and browser independent. For example, theplug-in may be packaged as an ActiveX component for Internet Explore, aNetscape Plug-in API, or a browser plug-in for non IE browsers. Howeverthe plug-in is packaged, it may be bundled in a single archive, allowinga quick and automatic installation the first time a user attempts a fileupload. As part of the installation process, the component will checkfor software such as QuickTime or DirectShow, needed components and/orfilters and/or of said software, and/or other software components on thesystem, and will download them and install them if necessary. Platformindependence may be made through different graphics libraries such asDirect Show on Windows (which may be extendable through adding filters),or QuickTime on Macintosh (which may be extendable by adding customcomponents). Extendibility may allow support for importing and exportingadditional file types and integrating with additional cameras and othervideo devices. This may allow on-going support for new file types,codecs, and devices as they enter usage.

In embodiments, publisher 112 may be downloaded from an applicationserver. Publisher 112 may consist of one or more separate libraries ofdynamically linked code, henceforth called modules. The publisher 112may utilize two main modules, (1) the publisher 112 itself and (2) anUpdater module. Other modules may be the QT Decoder Component Modulewhich may add support for reading a specific file type or codec on aMacintosh, DirectShow Decoder Filter Module which may add support forreading a specific file type or codec on Windows, QT Encoder ComponentModule which may add support for writing a specific file type or codecon a Macintosh, DirectShow Encoder Module which may add support forwriting a specific file type or codec on Windows, Macintosh DeviceReader Module which may add support for reading from a specific deviceon a Macintosh, and Device Reader Module which may add support forreading from a specific device on Windows. The addition of modules likethese may allow the extending of functionality to new file types, codecsand devices without requiring any updates to the core software by simplyplugging in the appropriate module.

Publisher 112 may provide control of the browser plug-in parameters suchas appearance and functionality parameters. Examples of parameters thatmay be controlled include a Client ID, Db ID content delivery network124 control parameters, authorization parameters, file selector, andother parameters. A client ID may be given to each client and providedactions such as billing and authorization. A Db ID may be an ID numberthat the client may assign to each video, and that may be used to linkto the video once it is uploaded. A content delivery network 124 controlparameter may be used by a client to control how long a video stays onthe content delivery network 124 and what to do when it expires. Acontent delivery network 124 control parameter may also be used tocontrol the appearance and feature customization which the client mayuse to control the appearance of the publisher, such as backgroundcolor, icons, and brandings, and the publisher's functionality, such aswhether a title frame should be uploaded. Authorization parameters mayprovide additional data to ensure that the upload originated from anauthorized client and that no parameters have been changed between whenthe client sent them and when the application server 120 received them.A file selector may select a video file from the hard disk by draggingand dropping it on a designated ‘drop zone’, or by clicking a ‘browse’button and using a standard system file chooser to locate a file.

In embodiments, publisher 112 may provide security against the followingattacks: (1) Use of the decoder or encoder modules for personal useoutside of the publisher. This may be prevented by a security mechanismbuilt into each module which ensures that only the publisher 112 iscalling it. (2) Use of the product without paying. This may be preventedby requiring authorization with the content delivery network 124 priorto transcoding the FLV, so a user can only encode an FLV if they canauthorize with the content delivery network 124. (3) Breaking into theinternal system back-end. This may be prevented by having all internalapplications and databases use standard SSL encryption to preventexternal access form unauthorized users. (4) Attack from othercomputers. This may be prevented by distributing modules as a signedcode, allowing the user to determine that all modules originated fromVideoEgg and are unmodified. Additionally, the publisher 112 may checkthe signatures of all modules when it is first loaded.

In embodiments, the publisher 112 may be delivered as a plug-in browserextension which adds encoding, editing, and upload capabilities to astandard Internet browser. The publisher 112 may be packaged, forexample, as an ActiveX component for Internet Explorer, or a browserplug-in for non-IE browsers. In either form, it may be bundled in asingle archive, allowing a quick and automatic installation the firsttime a user attempts a file upload. As part of the installation process,the component will check for software such as QuickTime, DirectShow,needed components and/or filters and/or of said software, and/or othersoftware components on the system, and will download them and installthem if necessary.

For example, when the user selects a file, the publisher 112 may attemptto read the media using QuickTime and/or DirectShow. If QuickTime and/orDirectShow cannot read the file, the publisher 112 contacts a server torequest a QuickTime extension module and/or DirectShow filter module.These modules are components that extend the QuickTime and/or DirectShowarchitectures to provide support for additional file formats and codecs.If an appropriate module cannot be located, the failure is logged sothat VideoEgg can implement an appropriate extension module and/orDirectShow filter. In embodiments, the user is directed to help contentwhich walks him or her through converting the file to an acceptedformat.

In embodiments, the media file may then be transcoded by anothercustom-written QuickTime extension, standard QuickTime extension, customDirectShow filter module, standard DirectShow filter module and/or othersoftware extension or module, into a media file or set of media filesfor various bandwidths. The transcoding may use, for example, a formatbased on the new H.264 standard or an advanced implementation of MPEG-4using a custom encoder and player to provide sufficient flexibility tovary this format as more advanced codecs and formats are developed. Inembodiments, the publisher 112 may authenticate itself with the contentservers and/or other servers using an MD5 hash, based on a sharedsecret, and/or other authentication scheme, and uploads the files.

In embodiments, the publisher 112 may be a browser plug-in whichprovides a user interface for obtaining a video, transcoding it forstreaming and uploading it. The video may come from a number of sourcesincluding a file, digital camera 102A, webcam/video capture card 102E,email, MMS, SMS, IM, DVD, converted analog storage files, CD, VCD, videoenabled digital cameras 102A and other such video recording, playback,editing and/or storage facilities. In embodiments, a video file may beselected from the hard disk by dragging and dropping it on a designated“drop zone”, or clicking a “Browse” button and using a standard systemfile chooser to locate a file. In embodiments, the publisher 112 maycapture directly from digital video cameras 102B, either capturing thelive feed from the camera, or reading a stored video off a tape, forexample. In the latter case, the publisher 112 may provide VCR/DVD-stylecontrols that allow the user to queue up the tape. A “Start Capture”button may begin capturing video from the device, and a “Stop Capture”button may end the capture. A preview window may display the video feedfrom the device. In embodiments, start and stop capture buttons maycontrol capture form these webcam 102E or other video devices. Sincemany devices do not provide integrated audio sources, the user mayselect an audio source from a dropdown list, and set audio record volumeusing a slider and an audio level meter. A preview window displays thelive video stream. In embodiments, the publisher 112 may capture thevideo from email, MMS, SMS or other messaging systems or from a cellphone 102C. A user may upload a video via a video message from avideo-enabled cell phone 102C. The user is provided with a uniquenumerical email, or other messaging code, or other address (e.g.1234@videoegg.com) to send the video message to. Once the email isreceived, the publisher 112 may automatically download the video filefrom the mail server. In embodiments, the publisher 112 may be able toread videos directly from Video DVDs and VCDs, and other video storageformats. In embodiments, the publisher 112 may read video files fromstill cameras supporting video functionality.

Once a source video is selected, the user may be provided with editingtools. A video controller bar may provide sliders to set in and outpoints. Additional in and out points may be added using an eraser toolto crop segments from the middle of the video. As the sliders are moved,a video display may scrub through the video. The resulting video may cutdirectly from segment to segment. A user may also choose between a setof predefined transitions. Other editing tools may be provided,including tools that allow concatenation of multiple clips, additionand/or mixing of audio, production of slide shows (with or withoutaudio) from still images, image alteration, image rotation, imagetranslation, video and/or audio transitions, image compositing, and/ortemplate-based editing.

In embodiments, from a user's point of view, the application may show atimeline with a start and end slider and a playhead indicating thecurrent frame being displayed, as well as a preview screen where thevideo is displayed, and standard VCR or other video controls such asrewind, rewind to beginning, fast forward, play, pause, step to nextframe, playback speed, and the like. A user may drag the start and endsliders along the timeline to determine at what point playback willbegin and end. When the user moves a mouse over the timeline, the cursormay turn into an eraser icon with which the user can erase a section ofthe video by dragging over it, causing a new pair of sliders to appearindicating the start and end of the cut region. Like the start and endsliders, these new sliders may be configured to be dragged along thetimeline to change their location, causing the video display to “scrub”along with the slider, showing the frame at the current position of theactive slider. When the user plays the video back, the erased regionsare not played, and the playhead may jump over erased regions of thetimeline.

The editing tool may be realized in a number of platform-specificmanners, but at a high-level, in certain embodiments, it can bedescribed as follows. As a user drags a slider, the frame from thesource video corresponding to the current slider position is displayedin the preview screen. When the user then starts playback by pushing theplay, rewind, or fast forward button, the application may use thecurrent sliders' positions to generate a video in memory that representsthe source video with the selected edits. The current position in theedited video is set to the frame that corresponds to the frame in thesource video currently being displayed, and then the edited video isplayed. As the video proceeds, the playhead may be continuallypositioned on the timeline at the location in the source video thatcorresponds to the matching frame in the edited video. In this way, theplayhead may jump across the erased regions.

In QuickTime, this functionality may be realized by building a secondQuickTime Movie in memory to represent the edited video. In DirectShow,the edited video may be constructed by creating a new Timeline usingDirectShow Editing Services.

After editing, the user may optionally select a title frame, again usinga simple slider. The frame number may be recorded to be displayed in theplayer when the video is inactive. The publisher 112 may also export thetitle frame as a JPEG or other image and upload it separately to be usedin the client site as a link to the full video. This functionality maybe turned on and off by a client using HTML parameters for example.

The publisher 112 may transcode the edited video into a suitable formatfor streaming, progressive download, sequential feed or other suitableformat, and may simultaneously or subsequently begin uploading thetranscoded video to the content deliver network 124. During thisprocess, the frame currently being encoded and uploaded may be displayedalong with a progress bar. When the video is uploaded, it may beprovided immediately for viewing by the VideoEgg player 128.

In embodiments, the publisher 112 may be written in C++ as a platformand browser independent implementation of the application. The publisher112 may use a custom graphics library, which provides a thin wrapper tothe underlying system graphics API. A simple ActiveX or Netscape plug-inmay instantiate the publisher 112 and pass system events such as paintcalls and mouse events to the publisher 112 for handling. In this way,the same publisher 112 code base can run in Internet Explorer usingActiveX and other browsers using the Netscape Plug-in API simply byproviding the two different wrappers to the same core code. Likewise,the publisher 112 may run on Windows machines and Macintosh machinessimply by providing two different implementations of the graphicslibrary.

In embodiments, the plug-in may use a custom-written media library tohandle video capture, transcoding, video editing, media display andsystem device interaction. The media library provides a thin wrapper toDirectShow on Windows machines, and QuickTime on Macintosh machines.Both DirectShow and QuickTime are extendable, DirectShow by addingcustom filters and QuickTime with custom components, to add support forimporting and exporting additional file type and integrating withadditional cameras and devices. VideoEgg may use a suitableextensibility mechanism to continually add support for new file types,codecs, and devices.

The publisher 112 may call one or more separate libraries of dynamicallylinked code, henceforth called modules. The publisher 112 may use twocore modules, the publisher 112 itself and an updater module which isresponsible for updating the publisher 112 module. The softwarearchitecture may also allow for additional core or supplemental modulesto accommodate new product releases (through module updates) orenhancements (through additional modules).

In addition, in embodiments, the publisher's 112 capabilities may beextended by adding extra modules, for example modules of the followingtypes: QT Decoder Component Module that adds support for reading aspecific file type or codec on a Macintosh; DirectShow Decoder FilterModule that adds support for reading a specific file type or codec onWindows; QT Encoder Component Module that adds support for writing aspecific file type or codec on a Macintosh; DirectShow Encoder Modulethat adds support for writing a specific file type or codec on Windows;Macintosh Device Reader Module that adds support for reading from aspecific device on a Macintosh; Windows Device Reader Module that addssupport for reading from a specific device on Windows. These additionalfunctionalities may allow the platform to extend its functionality tonew file types, codecs and devices without requiring any updates to thecore software by simply plugging in the appropriate module.

In embodiments, methods and systems may provide the ability to capturevideos directly from a cell phone to the publisher 112. To accomplishthis, the publisher 112 may provide the user with a unique automaticallygenerated email address, e.g. 12934@videoegg.com, or other address. Theend user may send a video message to this address, where an SMTP server,and/or other configuration of server, will receive the message, parseout the video file, and store it. This server will also store theassociation between the id number (12934) and the path on the server ofthe stored video file.

The publisher 112 may continually poll a CGI script on the server,passing the id number as a request parameter (e.g.www.videoegg.com/checkForVideo.cgi?id=12934). The CGI script may return404 responses until the file is stored by the server, at which point thescript may use the id number to locate the video, send the video to theuser, and delete the video file off the server. At this point, the filemay be stored on the local machine and can be edited, transcoded, anduploaded to the VideoEgg using the normal process.

Additionally, in embodiments, methods and systems may provide theability to capture videos directly from a cell phone to the publisher112. To accomplish this, the publisher 112 will provide the user with anaddress, e.g. video partner.com or, or other address. The end user willsend a video message to an email address, or other address (e.g.video@partner.com or 12345) where an SMTP server, and/or otherconfiguration of server, will receive the message, parse out the videofile, and store it. Meta-data associated with the video, which mayinclude the telephone number of the sending phone, the email address ofthe sender, information entered into the text field of the messageand/or other information, will be used to index the video for retrieval,either directly as a part of the path name or by associating the videowith an appropriate and unique identifying code.

The publisher 112 may continually poll a CGI script on the server,passing the meta-data or identifying code as a request parameter (e.g.www.videoegg.com/checkForVideo.cgi?id=user21312mov36912). The CGI scriptmay return 404 responses until the file is stored by the server, atwhich point the script may use the id number to locate the video, sendthe video to the user, and delete the video file off the server. At thispoint, the file may be stored on the local machine and can be edited,transcoded, and uploaded to the publisher 112 using processes disclosedherein.

In embodiments, the client controls the appearance and functionality ofthe publisher 112 by passing the publisher 112 data via HTML parametersor other applicable parameters. Each client may be given an ID numberwhich is used for billing and authorization. The client may assign eachvideo an ID number, which it uses to later link to the uploaded video.The client passes a set of parameters which control how long a videoshould stay on the content delivery network 124 and what to do when itexpires. The client may control the appearance of the publisher 112,such as background color, icons, and brandings, and the publisher's 112functionality, such as whether a title frame should be uploaded.Additional data may be sent to ensure that the upload originated from anauthorized client and that no parameters have been changed between whenthe client sends them and when they are received by a servicing host.

In embodiments, as part of the publisher 112 parameters, the clientpasses data to the publisher 112 which specifies the terms of theupload, such as how long a file should remain on the content deliverynetwork 124 and what to do when it expires. The exact contents of theseparameters will differ from client to client, but may generally includeone or more of the following: limit type: determines how the video filewill expire; unlimited: the video will never expire; time limited: thevideo will expire after L days; view limited: the video will expireafter L views; bandwidth limited: the video will expire after L bytes ofdownload; limit parameter: L in above formulation, ignored for unlimiteddownloads; warning parameter: W<L indicating when a warning of a pendingexpiration should be sent, ignored for unlimited downloads; ceiling:maximum bandwidth allowed before the video is blocked, used forunlimited downloads and time limited downloads to prevent virals;expiration action: the action to take upon expiration; block untilreauthorized; delete; notify user (specify user email address and usermessage); notify client (specify client callback address and format);warning action: the action to take upon warnings; notify user; notifyclient; and group: an optional group id chosen by the client whichspecifies a group of files which all share content delivery network 124control parameters, allowing limits to be set on a group of files ratherthan individual files.

The publisher 112 may upload the content delivery network 124 controldata to the content deliver network 124 along with the video file. Theapplication server 120 may periodically collect this data and parse itinto a database. A regular process examines the content deliverynetworks 124 logs for videos that have reached their warning or limitthresholds and takes appropriate actions.

A client may change the content delivery network 124 control dataassociated with a video or group by sending a new set of contentdelivery network 124 control parameters directly to the applicationserver 120 as an HTTP request, where it gets logged and then stored tothe database. This mechanism may be used to immediately deactivate afile, or to reauthorize a file that is about to or has already expired.

In embodiments, an authorized client may be the only one permitted touse the publisher 112 to upload video files to the content delivernetwork 124, and the correct client may be required to be associatedwith each video file to ensure that the right client is billed for theupload. This may be handled with a set of authorization data that issent as part of the publisher 112 parameters such as a user IP (the IPaddress of the user that will be running the publisher 112) and/or atimestamp (e.g. a current time).

In embodiments, the publisher 112 parameters may be encoded with asecret key known only to a hosting service and the client. The publisher112 may send this data along with an unencoded client ID to the contentdelivery network 124 as part of the content delivery networkauthorization process. In one embodiment, the content delivery networkmay then decode the parameters using its own copy of the secret key forthe given client, then checks to make sure that the upload is comingfrom the correct IP address and that the timestamp is recent. This mayensure that the request originated from the client, since the parameterscould only have been encoded using the client's copy of the secret key,and ensures that none of the publisher 112 parameters have been changed,since they cannot be decoded without the secret key. A number of othersecurity and encryption techniques having various degrees of reliabilityand security are known, and may be used instead of, or in combinationwith, the techniques described herein.

In embodiments, the publisher 112 may provide support for new devices,file types and codecs without requiring a new release of the coreproduct. In addition, the publisher 112 may supply informative errormessages and diagnostic tools in the event of an incompatibility thathelp a user diagnose and work around the issue. This error handling maybe continuously updated to provide better and more specific messages andsolutions. In embodiments, this functionality may be provided by aseparate updater module which keeps the publisher 112 up to date withthe latest modules and error handling. When the publisher 112 is loaded,it may first check the application server for a new version of theupdater module. If a new version is available, it may be downloaded viaHTTP, FTP, or some other file or content transfer protocol, andinstalled. The publisher 112 may use the updater to keep itself up todate with the latest modules and functionality. The publisher 112 may,for example, perform the following queries on the updater. Given thecurrent installed modules, an inquiry may be made pertaining to anyactions that should be taken. This query may be performed immediatelyafter the publisher 112 loads to update to the latest version of theproduct. Given a specific device or file and the current installedmodules, an inquiry may be made pertaining to any actions that should betaken. This query may be performed after the source file and/or deviceis selected. This may allow certain updates to be performed when theyare required for a specific device or file type. Given a specific deviceor file and the current installed modules, an inquiry may be madepertaining to any known issues and what actions should be taken as aresult. This may allow the publisher 112 to anticipate known problemsand take appropriate actions. Given a specific error, an inquiry may bemade pertaining to what is the appropriate action to be performed. Inembodiments, the updater may respond to any one of the inquiries bytaking actions including one or more of the following: install or updatea new module; install or update an external dependency such as QuickTimeor DirectX; display an error message; run a diagnostic tool which walksthe user through fixing the problem or other appropriate action.

In embodiments, when the updater is loaded, it may download a binarydata file from the application servers. This file may contain data onall versions of each module including module dependencies, externaldependencies such as QuickTime and DirectX, and known errors in modules,all supported devices and file types and the required modules to supportthem, and error messages for known issues. The publisher 112 may parsethis data and uses it to perform the above actions.

In embodiments, logs may be provided. For example, logs may be providedin the following scenarios. A log may be provided when the systemreports a successful transcode and upload; when the system reports anunsupported device or file, used to prioritize when new devices or filesshould be supported and/or when the system reports usage that shouldhave worked and didn't, which might be used to determine when bugs needfixing as well. Logs may include the following data: machine data: OS,processor, etc.; installed modules; file/device data: indicating whatwas the user trying to do; type: success report, known error report,unknown error report; and/or error data which may only be relevant forerrors or unknown errors. In embodiments, the log may be uploaded to theapplication server 120 as a binary request parameter, where it will berecorded into the HTTP server logs. These logs may then be periodicallyparsed and loaded into a database by the VideoEgg application server120.

A video enabled recording/storage device 102 may be an electronic devicedesigned to record and/or store video images. The video enabledrecording/storage device 102 may provide an electro-optical system forthe imaging of scenes onto a focal plane optical sensor. The videoenabled recording/storage device 102 may record images as an analogsignal and subsequently convert the image to digital data, or record theimages directly as digital data. The video enabled recording/storagedevice 102 may have local data storage, I/O ports for portable memorydevices, and/or I/O ports for the transmission of digital data files toother devices. A video enabled recording/storage device 102 may be astand-alone device or be an integral function within another device suchas a browser-enabled video manipulation and posting facility. Examplesof video enabled recording/storage devices 102 may include, but are notlimited to, a digital camera 102A, digital video camera 102B, cell phone102C, DVD 102D recorder, webcam/videocapture 102E device, or the like.

In embodiments, player 128 may be an embedded browser plug-in, web-basedplayer, client based player or other software component adapted toplayback a video segment according to the present invention. A plug-inis a program that may interact with another program to provide certainfunctions. The player 128 browser plug-in may be downloaded from anapplication server 120 by a user who may want to play back a video filethat may have been previously stored on the network 118. The player 128may function to retrieve video files from a content deliver network 124for the viewing or storage of video files. The player's 128 userinterface may provide video display and control with standardVCR/DVR-type controls. Examples of these controls may be play, stop,pause, rewind, fast-forward, and loop. Playback of video may utilizeavailable web video players such as a Java-based player or a Flash-basedplayer. For example, the player may be deployed as a small MacromediaFlash SWF file which downloads and plays a Flash FLV file. Flash 6 and 7FLV and Srenson H.263 code may be taken from the open source libavodeclibrary. MP3 encoder code may be taken from the open source LAMEproject. Newer versions of player (e.g. Flash 8) may be added toexisting products through module updates. Other solutions such asWindows media and QuickTime may also be utilized.

The player 128 may interface with a variety of video enabled playbackdevices for display of the downloaded or stored video files. Examples ofvideo enabled playback devices include, but is not limited to, a digitalvideo camera 132B, digital video-enabled still camera 132A,video-enabled cellular phones 132C, PDA's 132D, cell phones 132C, pocketpc's, and notebooks. The player 128 may also display the downloadedvideo file on the browser enabled processor platform 104 through itsresident display device, or stored in the browser enabled processorplatform 104 in its hardware memory facility.

A video enabled playback device 132 may be an electronic device for theplayback and viewing of digital video files. The video enabled playbackdevice 132 may have an interface(s) for the transfer of video files tothe device, local data storage for file retention, and a display forviewing the video file. A video enabled playback device 132 may be astand-alone device or be an integral function with another device suchas a browser-enabled video manipulation and posting facility. Examplesof video enabled playback device 132 may include a digital camera 132A,digital video camera 132B, cell phone 132C, PDA 132D, other videodisplay facility 132E, or the like.

An application server 120 is a server computer in a computer network 118dedicated to running certain software applications. The term may alsorefer to the software installed on such a computer to facilitate theserving (running) of other applications. The application server 120 mayhost a central website, provide control of data flow and managementto/from the content deliver network 124, maintain the executable codefor the browser plugins publisher 112 and player 128, provideauthorization for use of the system, provide for automatic updates ofexecutable software and source technology formats, and or providelogging of data use.

The application server's 120 central website may provide for a serviceprovider's homepage and client account management. The homepage mayprovide information and advertisement for a service provider's product,product demonstrations, and contact information. The central website 122may also support client account management. Examples of functions forthe management of client accounts may include the creation andmonitoring of accounts, maintenance of detailed usage reports,maintenance of user's control parameters, and billing.

The application server 120 may provide central control and management ofdata usage across the content deliver network 124. The applicationserver 120 may coordinate uploads from publisher 112 and downloads toplayer 128. The application may provide database management for thefiles on the content deliver network 124. The following are some typesof database controls that may be utilized. Limit type: determines howthe video file may expire such as: unlimited—the video will neverexpire, time limited—the video will expire after L days, viewlimited—the video will expire after L views, and bandwidth limited—thevideo will expire after L bytes of download. Ceiling: maximum bandwidthallowed before the video is blocked, may be used for unlimited downloadsand time limited downloads to prevent virals. Expiration action: theaction to take upon expiration, such as block until reauthorized,delete, notify user, and notify client. Warning action: the action takenupon warnings, such as notify user or notify client. Group: an optionalgroup ID chosen by the client that specifies a group of files which allshare content delivery network 124 control parameters, allowing limitsto be set on a group of files rather than individual files.

The application server 120 may include a function for authorization. Anauthorized client may be the only one permitted to use the publisher 112to upload video files to the content delivery network 124, and thecorrect client may be associated with each video file to ensure that theright client is billed for the uploads. This may be handled with a setof authorization data sent as part of the publisher 112 parameters suchas User IP, which is the IP address of the user that will be running thepublisher 112, and timestamp: the current time.

The application server 120 may provide logging of data for reporting.Examples of logging reports are: Success report: reports a successfultranscode and upload; known error report: reports an unsupported deviceof file, used to prioritize when new devices or files should besupported, and; unknown error report: reports usage that should haveworked but didn't, used to determine when bugs need fixing. Dataincluded in reports may include machine data (e.g., OS, processor,etc.), installed modules, file/device data (what was the user trying todo), type of report such as success report, known error report, unknownerror report, error data—only relevant for unknown errors. Reports mayalso include metrics, such as limit threshold warnings, and invoicingfor final billing to the client.

In embodiments, the application server(s) 120 may include variousserver-side functionalities. For example, the application server 120 mayprovide a static website which presents its technologies to potentialclients; provide a dynamic, database driven secure web site which allowsclients to create and monitor accounts, with detailed usage reporting;provide a utility that may collect content delivery network 124 controldata and record it in a central database, monitor traffic to the contentdelivery network 124 and enforce any policies set in the control data;provide the latest version of all modules along with the control dataused by the updater module to perform upgrades; it may collect successand error logs, and an internal utility may parse the web servers logsand records data to an internal database; and/or it may use datacollected from the content delivery network 124 to generate client billsand custom reports.

In embodiments, the application servers may interact with the publisher112 through an HTTP server serving static files. These files can beserved directly off the content delivery network 124, allowing thesystem to scale without limitation, except for any limitations of thecontent delivery network 124 itself.

A content deliver network 124 may be a system of computers networkedtogether across the Internet that cooperate to deliver content(especially large media content) to end users. content delivery network124 nodes may be deployed in multiple locations, often over multiplebackbones. These nodes may cooperate with each other to satisfy requestsfor content by end users, moving content behind the scenes to optimizethe delivery process. Optimization may take the form of reducingbandwidth costs, improving end-user performance, or both. The number ofnodes and servers making up a content delivery network 124 may vary,depending on the architecture, some reaching thousands of nodes withtens of thousands of servers. Requests for content may be intelligentlydirected to nodes that are optimal in some way. When optimizing forperformance, locations that can serve content quickly to the user may bechosen. This may be measured by choosing locations that are the fewesthops or fewest number of network seconds away from the requestor, so asto optimize delivery across local networks 118. When optimizing forcost, locations that may be less expensive to serve from may bepreferentially chosen. Often these two goals are aligned, as serversthat are close to the end user may have low serving costs, perhapsbecause they are located within the same network as the end user.

A service provider may utilized existing content deliver network 124 sthat may be already set up to support high-traffic, large-scale uploadsand downloads. Various methods for upload and download may be utilizedsuch as streaming, progressive downloading, RTP-based streaming, orsequential feed. Examples of functions that may be adapted for use in acontent deliver network 124 include, but are not limited to, thefollowing: Upload demand: most content delivery networks 124 arecurrently set up to handle a central upload of a library of video fileswhich are then distributed to various servers for optimized download. Itmay be preferred to support a large number of concurrent uploads. Serversoftware may be optimized for this type of traffic and load balancingmay be provided for upload servers to support this traffic.Authorization: Instead of the standard preset username and passwordauthorization system, a system may employ a programmatic check asdescribed in the authorization section as described herein. This may beimplemented through modifications to standard ftp and http servers.Protected content: To support allowing playback only from within theclient's site, content on the content delivery network 124 must beprotected. Most content delivery networks 124 already implement anappropriate form of shared key/hash code protection, in which the clientsite generates a dated one-time use password using a shared key, whichis passed as a URL parameter to the content delivery network 124.Scripts and logging: may require direct, programmatic access to thecontent delivery network 124 origin servers for tasks such as removingexpired videos and collecting content delivery network 124 control data,and may require access to logs for monitoring traffic.

In embodiments, methods and systems may use content delivery networks124 that are set up to support high-traffic download. In embodiments thecontent deliver network 124 may use progressive download techniques. Inother embodiments, the content deliver network 124 may use RTP-basedstreaming or other streaming technique. In embodiments, the contentdeliver network 124 may include one or more of the following features.It may include an upload demand feature. Most content delivery networks124 are currently set up to handle a central upload of a library ofvideo files which are then distributed to various servers for optimizeddownload. In embodiments, it may be preferred to support a large numberof concurrent uploads. The server software may be optimized with anupload demand feature for this type of traffic and load balancing may beprovided for upload servers to support this traffic. In embodiments, thecontent deliver network 124 may employ a programmatic check as describedin connection with authorization herein. This may be implemented throughmodifications to standard FTP and HTTP servers. In embodiments, thecontent deliver network 124 may support allowing playback only fromwithin the client's site to protect the content on the content deliverynetwork 124. In embodiments, the content deliver network 124 may requiredirect, programmatic access to the content delivery networks 124 originservers for tasks such as removing expired videos and collecting contentdelivery network 124 control data, and may require access to logs formonitoring traffic.

A computer network 118 may be a system for communicating betweencomputing devices. These networks 118 may be fixed (e.g., cabled orpermanent) or temporary (e.g., via modems or null modems) and generallyinvolve the use of a telecommunications system. Examples of computernetworks 118 may be the Local Area Network (LAN), Wide Area Network(WAN), Personal Area Network (PAN), intranets, extranets, or othernetworks. Networks may operate as client-server, where many clientcomputers are making requests of the server, peer-to-peer, where eachcomputer acts as both a client and a server or other usefulconfigurations. Networks 118 may have different interconnectiontopologies such as a Bus Network, Star Network, Ring Network, MeshNetwork, a Star-Bus Network or other topologies. Networks may havespecialized functions such as a Storage Area Network, Server Farms,Process Control Networks, or Wireless Community Network.

In embodiments, the publisher 112 may include a video editing platform.In this embodiment, a video clip may be viewed within a graphic userinterface and the graphic user interface may include an editing bar. Theediting bar may include a representation of the progress of the videoplayback including a percentage complete indication. The editing bar mayinclude a begin interface that appears as a slide mechanism to allow auser to slide to where he wants the video to begin in the finishedvideo. Likewise the edit bar may include a stop interface to allow theuser to define, by sliding an icon, where the video should end. Theediting interface may also be provided with an eraser feature thatallows the user to erase portions of the video segment. Once a segmenthas been edited, the system may paste the remaining sections of thevideo clip back together to form a continuous stream of video.

An aspect of the present invention relates to capturing video, editingthe video and storing the video on a server for later retrieval. Inembodiments, a browser plug-in or other embeddable software componentmay be adapted to perform many of such functions. Embodiments mayinvolve the providing a self contained embeddable software componentadapted to be deployed from a server application where the selfcontained embedded software component may be further adapted to capturea video file and where the self contained embedded software componentmay be further adapted with a user interface to facilitate editing thevideo file. The adaptation to be deployed may be an adaptation to bedelivered. The software component may be adapted to embed in a browserapplication.

The software component may be adapted to be embedded in a browserapplication from a server application. The server application may be anauction site, an on-line e-commerce site, a real-estate site, a travelsite, a journal site, a blog, a classified advertisement site, apersonal advertisement site, or other server application. The classifiedadvertisement site may contain a real estate advertisement site, anautomotive advertisement site, a boat advertisement site, an apartmentadvertisement site, an employment advertisement site, or the like. Theserver application may include an advertisement and the self containedembeddable software component may be associated with the advertisement.

The embedded software component may be further adapted to capture videofrom a client source. The client source may contain a mobile computingfacility, laptop computing facility, personal digital assistant, phone,cell phone, mobile phone, desktop computing facility, or the like. Theclient source may capture the video from a file, camcorder, webcam,mobile device, video capture card, TV tuner, flash memory, DVD, VCD,TiVo, digital cable TV source, streaming video file, on-line TV, on-linevideo, mobile phone, personal digital assistant, or the like.

The user interface may be further adapted to edit the video in real-timeor edit a portion of the video, where the portion may be the start timeof the video, the end time of the video, or a midpoint of the video. Theuser interface may be further adapted to provide transitions betweenscenes, where the transitions may be applied to the beginning, the endof a video segment, or other part in the video.

The video file may be a file containing a plurality of images, where theimages may be sequentially arranged. The video file may further containaudio information.

The user interface may contain an API adapted to facilitate usercommunications.

An aspect of the present invention relates to editing video through aserver application. Embodiments involve providing a self containedembeddable software component adapted to be deployed from a serverapplication where the self contained embedded software component may beadapted with a user interface to facilitate editing the video file. Theadaptation to be deployed may be an adaptation to be delivered. The selfcontained embeddable software component may be further adapted to beembedded in a browser application.

The self contained embeddable software component may be further adaptedto be embedded in a browser application from a server application. Theserver application may be an auction site, an on-line e-commerce site, areal-estate site, a travel site, a journal site, a blog, a classifiedadvertisement site, a personal advertisement site, or other serverapplication. The classified advertisement site may be a real estateadvertisement site, an automotive advertisement site, a boatadvertisement site, an apartment advertisement site, an employmentadvertisement site, or the like. The server application may include anadvertisement and the self contained embeddable software component maybe associated with the advertisement

The embedded software component may be further adapted to capture videofrom a client source. The client source may be a mobile computingfacility, laptop computing facility, personal digital assistant, phone,cell phone, mobile phone, desktop computing facility, or the like. Theclient source may capture the video from a file, camcorder, webcam,mobile device, video capture card, TV tuner, flash memory, DVD, VCD,TiVo, digital cable TV source, streaming video file, on-line TV, on-linevideo, mobile phone, personal digital assistant, or the like.

The user interface may be further adapted to edit the video in real-timeor a portion of the video, where the portion may be the start time ofthe video, the end time of the video, or a midpoint of the video. Theuser interface may be further adapted to provide transitions betweenscenes, where the transitions may be applied to the beginning, the endof a video segment, or other point in the video.

The video file may be a file containing a plurality of images, where theimages may be sequentially arranged. The video file may further containaudio information.

The user interface may contain an API adapted to facilitate usercommunications.

An aspect of the present invention relates to capturing video from asource other than just a web cam and transferring the video to a serverapplication. Embodiments involve providing a self contained embeddablesoftware component adapted to be deployed from a server applicationwhere the self contained embedded software component may be adapted tocapture a video file from at least one of a video camera, camcorder,DVD, VCD, memory, cell phone video facility, portable phone videofacility, digital video camera, flash memory, TV, digital TV, digital TVtuner, digital TV recorder, satellite TV tuner, satellite TV recorder,or other such device. The adaptation to be deployed may be an adaptationto be delivered. The self contained embeddable software component may befurther adapted to be embedded in a browser application.

The self contained embeddable software component may be further adaptedto be embedded in a browser application from a server application. Theserver application may be an auction site, an on-line e-commerce site, areal-estate site, a travel site, a journal site, a blog, a classifiedadvertisement site, a personal advertisement site, a real estateadvertisement site, an automotive advertisement site, a boatadvertisement site, an apartment advertisement site, an employmentadvertisement site, or other server application. The server applicationmay include an advertisement and the self contained embeddable softwarecomponent may be associated with the advertisement.

The embeddable software may be further adapted with a user interface tofacilitate editing the video file. The user interface may be furtheradapted to edit the video in real-time or a portion of the video, wherethe portion may be the start time of the video, the end time of thevideo, or a midpoint of the video. The user interface may be furtheradapted to provide transitions between scenes, where the transitions maybe applied to the beginning, the end of a video segment, or other pointin the video.

The user interface comprises an API adapted to facilitate usercommunications.

The video file may be a file containing a plurality of images, where theimages may be sequentially arranged. The video file may further containaudio information.

An aspect of the present invention relates to uploading videos to aserver or other target through the web, facilitated by a mobile phone.Uploading videos to the web with a mobile phone may be accomplished inseveral ways and may be performed using any of the devices or methodsdescribed herein.

In an embodiment, the system may receive a video; the system may assignthe video a pin number that may consist of database identifierinformation plus at least four random digits to assure that valid pinnumbers are difficult to guess. The system may store the video with thepin number, an incoming phone number, a host site that may be determinedby the address the video was received at (e.g. ebay@videoegg.com), atime received (e.g. GMT), the message subject (if present), and themessage body (if present).

The server may send a confirmation SMS response to the user with a hostsite specific message that may contain the pin number and optional extrafields. For example, eBay may be able to set a custom SMS response, suchas “We received a video at <time> and its pin number is <pin>”, wherethe <time> and <pin> fields may be replaced with the appropriate values.

The publisher 112 plug-in may then request the video by its pin numberby making an HTTP GET request and may pass the pin number as a parameteror in an URL. The publisher 112 may need to store the video with thecorrect extension (e.g., 0.3gp, 0.3gp2 etc) so that it may be playedback correctly. The video storage may be implemented using at least twomethods as follows.

A: In embodiments the publisher, or other such software component, maymake a first request using the pin number that may return the URL wherethe video can be downloaded, this may contain the correct fileextension. The publisher 112 may then make a second request to that URLand may store the video file locally using the video filename on theserver.

For example, the publisher 112 may requesthttp://mms.videoegg.com/getVideo?pin=978237, the actual URL could be asdescribed above. The server may respond with a single line of text suchas “http://mms.videoegg.com/videos/tempvideo1234.3gp”. The publisher 112may then request http://mms.videoegg.com/videos/tempvideo1234.3gp andmay store it locally as tempvideo1234.3gp.

B: In embodiments the publisher, or other software component may makeone request using the pin number that may return the video content andmay set a header indicating the content type, using either the MIMETypewhere the publisher 112 then maps that to an extension, or a customheader indicating the extension.

For example, the publisher 112 may requesthttp://mms.videoegg.com/getVideo?pin=978237 and the server may respondwith the video and sets the mimetype to video/3gp. The publisher 112 maystore the response locally as video.3gp, having mapped video/3gp to the0.3gp extension.

Each host site may set an expiration time in days as a configurationvariable. For example, each night a maintenance script may delete anyvideo whose time received date may be more than X days before thecurrent date, where X is the expiration time associated with the video'shost site.

Another uploading method may be Insta-post. If configured to do so, acertain host site may have its videos posted directly to the web ratherthan loaded by the publisher. In an example for site X, a video may bereceived at X@videoegg.com, the publisher 112 may store the databasevalues as discussed above, transcode the stored video to an alternativeformat using a command line function provided, then POST the video anddatabase information to an address specified in X's configuration usinga data format specified in X's configuration.

Another uploading method may be Pin recovery. A user may be able to goto a web site and make a request containing his or her phone number, anoptional host site ID, and an optional number of days D. In response,the server may send an SMS message to that phone number containing allthe videos received from that phone number from that host site (ifspecified, otherwise all) within D days (if specified, otherwise allunexpired videos).

Another uploading method may be Index based delivery. The publisher 112may request an index of all videos for a given pin and may return a listof videos, timestamps, subjects and URLs. The publisher 112 may thenselect a video and download it at the right URL.

An aspect of the present invention relates to controlling a video sourcethrough an embedded software application. Embodiments may involveproviding a self contained embeddable software component adapted to bedeployed from a server application where the self contained embeddedsoftware component may be adapted to capture a video file from a videosource and may control at least one aspect of the video source. Theadaptation to be deployed may be an adaptation to be delivered. The selfcontained embeddable software component may be further adapted to beembedded in a browser application. The self contained embeddablesoftware component may be further adapted to be embedded in a browserapplication from a server application.

The video source may be a local source, where the local source may beproximate to a computer operating the self contained embeddable softwarecomponent.

The video source may be a generic video source, where one aspect may bea playback control feature. The playback control feature may be afast-forward feature, a rewind feature, a pause feature, stop feature, arecord feature, an on/off feature, a rate feature, a transmissionfeature, or other playback control feature. The video source may be avideo camera, camcorder, DVD, VCD, memory, cell phone video facility,portable phone video facility, digital video camera, flash memory, TV,digital TV, digital TV tuner, digital TV recorder, satellite TV tuner,satellite TV recorder, or the like.

The server application may be an auction site, such as an on-linee-commerce site, a real-estate site, a travel site, a journal site, ablog, a classified advertisement site, a personal advertisement site, areal estate advertisement site, an automotive advertisement site, a boatadvertisement site, an apartment advertisement site, an employmentadvertisement site, or the like. The server application may include anadvertisement and the self contained embeddable software component maybe associated with the advertisement.

The embeddable software may be further adapted with a user interface tofacilitate editing the video file. The user interface may be furtheradapted to edit the video in real-time or a portion of the video, wherethe portion is the start time of the video, the end time of the video,or a midpoint of the video. The user interface may be further adapted toprovide transitions between scenes, where the transitions may be appliedat the beginning, the end of a video segment, or other point in thevideo.

The user interface may contain an API adapted to facilitate usercommunications.

The video file may be a file containing a plurality of images, where theimages may be sequentially arranged. The video file may further containaudio information.

An aspect of the present invention relates to capturing a video file andconverting the file format. Embodiments may involve providing a selfcontained embeddable software component adapted to be deployed from aserver application where the self contained embedded software componentmay be adapted to capture a video file and convert the file format to adifferent file format. The different format may be a streaming format ora progressive download format. The adaptation to be deployed may be anadaptation to be delivered. The self contained embeddable softwarecomponent may be further adapted to be embedded in a browserapplication. The self contained embeddable software component may befurther adapted to be embedded in a browser application from a serverapplication.

The self contained embedded software component may be adapted to capturethe video file from a video camera, camcorder, DVD, VCD, memory, cellphone video facility, portable phone video facility, digital videocamera, flash memory, TV, digital TV, digital TV tuner, digital TVrecorder, satellite TV tuner, satellite TV recorder, or other suchdevice.

The self contained embedded software component may be adapted todynamically update information relating to the file conversion. Theupdated information may be a new file converter. The process ofdynamically updating the information may involve searching for aconverter that is compatible with the video file, where the search maybe performed at least in part on the Internet. The conversion may beaccomplished through the use of a transcoder or an encoder.

An aspect of the present invention relates to sending a video file froma mobile communication facility. Embodiments may involve sending a videofile from a mobile communication facility to an email address, where theemail address may be associated with a server application and sendingthe mobile communication facility a message with a video ID number.

The method may also involve inputting the video ID number into apublisher, where the publisher 112 is operable on a client facility. Theclient facility may be a computer, laptop computer, desktop computer,PDA, or other such facility.

The method may also involve locating the video file on the serverthrough the video ID number facilitated by publisher.

The message communicated to the mobile communication facility may be anSMS message, an email message, IM, or other such message.

The method may also involve downloading the video file onto a client.

The method may also involve presenting a video file in the publisher.

The method may also involve editing a video file.

The method may also involve encoding, and uploading a video file to awebsite.

Embodiments may involve providing a self contained embeddable softwarecomponent adapted to be deployed from a server application wherein theself contained embedded software component may be adapted to receive avideo file, communicating a calling code to a user, and transmitting avideo file as directed by the calling code. The video file may be storedprior to the transmission. The adaptation to be deployed may be anadaptation to be delivered. The self contained embeddable softwarecomponent may be further adapted to be embedded in a browserapplication. The self contained embeddable software component may befurther adapted to be embedded in a browser application from a serverapplication. The self contained embedded software component may befurther adapted with a user interface to facilitate editing the videofile.

The calling code may be a phone number, an SMS message identifier, orgenerated by an application associated with the server application, forexample.

The video file may be transmitted by a portable phone, where theportable phone may be a cell phone, a mobile phone, or the like. Thevideo file may be transmitted by a personal digital assistant.

The calling code may be used to facilitate communication of the videofile to the server application, direct communication of the video fileto the server application, or direct communication of the video file toa server other than the server containing the server application. Theother server may be a video file storage repository or the like.

The server application may contain an auction site, an on-linee-commerce site, a real-estate site, a travel site, a journal site, ablog, a classified advertisement site, a personal advertisement site, areal estate advertisement site, an automotive advertisement site, a boatadvertisement site, an apartment advertisement site, an employmentadvertisement site, or the like. The server application may include anadvertisement and the self contained embeddable software component maybe associated with the advertisement.

An aspect of the present invention relates to capturing and previewingvideo. Embodiments may involve providing a self contained embeddablesoftware component adapted to be deployed from a server applicationwhere the self contained embedded software component may be adapted tocapture a video file and where the self contained embedded softwarecomponent is further adapted to present a preview of the video file to auser of the server application. The adaptation to be deployed may be anadaptation to be delivered. The self contained embeddable softwarecomponent may be further adapted to be embedded in a browserapplication. The self contained embeddable software component may befurther adapted to be embedded in a browser application from a serverapplication.

The preview may include presentation of a frame of the video file, wherethe frame is a first frame, a last frame, or an intermediate frame. Thepreview may include presentation of a segment of the video file or anindex of video segments included in the video file, for example.

The server application may be an auction site, an on-line e-commercesite, a real-estate site, a travel site, a journal site, a blog, aclassified advertisement site, a personal advertisement site, a realestate advertisement site, an automotive advertisement site, a boatadvertisement site, an apartment advertisement site, an employmentadvertisement site, or the like. The server application may include anadvertisement and the self contained embeddable software component maybe associated with the advertisement.

An aspect of the present invention relates to capturing video from twoor more sources. Embodiments may involve providing a self containedembeddable software component adapted to be deployed from a serverapplication where the self contained embedded software component may beadapted to provide source options and where the source options providefor the capture of a video file from at least two different types ofsources. The adaptation to be deployed may be an adaptation to bedelivered. The self contained embeddable software component may befurther adapted to be embedded in a browser application. The selfcontained embeddable software component may be further adapted to beembedded in a browser application from a server application.

The two different types of sources may be selected from the listcomprising a file, camcorder, webcam, mobile device, video capture card,TV tuner, flash memory, DVD, VCD, or other such device. The twodifferent types of sources may be a file and a camcorder, a file and awebcam, a file and a mobile device, a file and a video capture card, afile and a TV tuner, a file and flash memory, a file and a DVD, a fileand a VCD, a camcorder and a webcam, a camcorder and a mobile device, acamcorder and a video capture card, a camcorder and a TV tuner, acamcorder and flash memory, a camcorder and a DVD, a camcorder and aVCD, a webcam and a mobile device, a webcam and a video capture card, awebcam and a TV tuner, a webcam and flash memory, a webcam and a DVD, awebcam and a VCD, a video capture card and a TV tuner, a video capturecard and flash memory, a video capture card and a DVD, a video capturecard and a VCD, a TV tuner and flash memory, a TV tuner and a DVD, a TVtuner and a VCD, a flash memory and a DVD, a flash memory and a CVD, ora VCD and a DVD, for example.

The server application may contain an auction site, an on-linee-commerce site, a real-estate site, a travel site, a journal site, ablog, a classified advertisement site, a personal advertisement site, areal estate advertisement site, an automotive advertisement site, a boatadvertisement site, an apartment advertisement site, an employmentadvertisement site, or the like. The server application may include anadvertisement and the self contained embeddable software component maybe associated with the advertisement.

An aspect of the present invention relates to importing, editing, anduploading video files. The self contained embedded software, that may bea browser plug-in, may be capable of importing, editing, and uploadingvideo videos for multiple computer platforms (e.g., Apple and Windows).For example, the QuickTime and Directshow video formats may bemanipulated. The importing, editing, and uploading of the QuickTime andDirectshow video formats may be independent of the platform used.

The self contained embedded software may be able to import video by adrag-and-drop method of dragging the video file and dropping it into thepublisher. After the video file is dropped into the publisher 112 thevideo file may be imported. The drag-and-drop importing method may be inaddition to a file browsing method of file selection where the file isselected from a browse window for importing into the publisher. Thepublisher 112 may be a browser plug-in that may be able to transcode andupload video files.

The self contained embedded software editor may be able to edit onApple, Linux, Windows, or other platforms. Additionally, the selfcontained embedded software may be able to edit and upload using suchplatforms as a browser plug-in. A unique feature of the self containedembedded editor may be the editing of video by highlighting portions ofthe entire video to be cut or remove from the video, therefore takingthe whole video and cutting it down to a finished video. The editor mayalso provide a feature of previewing the finished video prior to thetranscode and upload of the finished video.

The self contained embedded software publisher 112 may be able to uploadvideo files from platforms using the QuickTime or Directshow fileformats, for example. The uploading of the QuickTime and Directshow fileformats may be independent of the platform used. The publisher 112 maybe able to transcode and upload the video file in two or fewer clicks ofa mouse or other pointing device to the content delivery network. Thetwo or fewer clicks of the mouse or other pointing device may includethe drag-and-drop method. The publisher 112 may be able to automaticallyinsert the video file, of any supported format, into a webpage. Theautomatic inserting of the video file may not require any cutting and/orpasting of HTML code into the webpage in support of the video file.

An aspect of the present invention relates to wizard-based videomanipulation. Embodiments may involve providing a self containedembeddable software component adapted to be deployed from a serverapplication and providing a template adapted to guide a user'sdevelopment of a video segment transition. The template may be agraphical template and the graphical template may include multimedia.

The adaptation to be deployed may be an adaptation to be delivered. Thestep of providing a template may involve providing a plurality oftemplates, where the plurality of templates may be provided as choicesfor the user.

The video file may include a tag associated with a video segment, wherethe tag may be an XML tag. The tag may be a plurality of tags, where theplurality of tags may be associated with a plurality of video segments.

The step of providing a template may involve providing a templatethrough a series of steps, where the steps may be provided through aquestion and answer format.

The self contained embeddable software component may be further adaptedto capture the video segment.

The self contained embeddable software component may be further adaptedto edit the video segment.

An aspect of the present invention relates to playing, uploading, andencoding video. Embodiments may involve providing a browser plug-inadapted to simultaneously perform at least two functions associated witha video file wherein the at least two functions may be selected from alist containing playing, uploading, and encoding. The two functions maybe playing and uploading, playing and encoding, or uploading andencoding.

An aspect of the present invention relates to preassigned metadata forvideo. Embodiments may involve uploading a video file to a serverapplication where the uploaded video file may be associated withmetadata prior to the upload. The metadata may be searchable. The videofile may contain a plurality of video segments and each of the pluralityof video segments may include searchable metadata.

An aspect of the present invention relates to browser-based videopublisher 112 for media businesses. Embodiments may involve providing aself contained embeddable software component adapted to be deployed froma server application where the self contained embedded softwarecomponent may be adapted to interact with the video file and use theembedded software component for an internal business process.

The interaction may be at least one of capturing, editing, transcoding,and uploading. The interaction may be capturing and editing, capturingand transcoding, capturing and uploading, editing and transcoding,editing and uploading, or transcoding and uploading.

The adaptation to be deployed may contain an adaptation to be delivered.The internal business process may be related to a media publishingbusiness, a real estate business, a retail business, law enforcement,government business, a security business, corporate media management,training, meeting minutes, conference proceedings, or productdemonstrations.

In embodiments, a person may want capture a video using a video enabledrecording device 102 (e.g. a digital camcorder) and the person may wantto post the video to a website (e.g. ebay.com). Once the person hascaptured the video he may connect the video enabled recording device 102to his personal computing facility (e.g. a client laptop computer). Thenthe person may go to the website, such as ebay.com, and locate the pagewhere items intended for auction can be added. The person may make anelection to upload a video to be displayed during the auction and awebservice associated with the website may initiate an investigation ofthe person's personal computing facility to check for the existence of aproperly loaded publisher 112. The investigation phase may be providedin a number of ways, including, for example, through an instructionprovided from the intended posting site or other related site. If thepublisher is found, the publisher, or associated software, may bechecked for any proper updates. If updates are required or desired, theupdates may be automatically downloaded from a related applicationserver 120 to the person's personal computing facility. In the event thepersonal computing facility does not have a publisher 112 properlyloaded, a new publisher may be downloaded from the application server120 to the personal computing facility. The process of checking andupdating and/or downloading of the publisher to the personal computingfacility may all or in part happen automatically as a result of theperson's election to add a video file to the web posting. Once thepublisher is installed/updated/checked on the personal computingfacility, the publisher may be initiated (following installation andassociation with a browser facility if necessary) to facilitate videocapture, transcoding, editing, manipulation, uploading or other suchfunctions as described herein in connection with the publisher 112. Inembodiments, information may be associated with the uploaded file suchthat the correct player may be selected for viewing. In embodiments, theediting and transcoding of the video file from the captured format to aposted format may be completely locally on the user's client computingfacility.

In embodiments, the downloading of the publisher 112, updating of thepublisher 112, or checking the status or condition of the publisher 112may be initiated when a user has a posting interaction with a website orother network location (e.g. as described elsewhere herein) where theuser intends to publish the video file. A posting interaction may be anyinteraction indicating the desire to post a video file, any interactionin the process of posting, editing, transcoding, or posting the file tothe website, or any other interaction relating to the posting of thefile to the website. For example, a user may want to post a video filelink (e.g. a link associated with a player adapted for viewing the videofile) to a website such as ebay.com and when the user makes a postinginteraction indicating the desire to post the video link, a process ofchecking the user's computing facility and/or downloading the publishermay be initiated. Similarly, if a user indicates his desire to capture,edit, transcode or otherwise manipulate a video file, a process ofchecking the user's computing facility and/or downloading the publishermay be initiated. Similarly, the user may be partially through theprocess of editing, transcoding, capturing, or posting the file to thewebsite and the process of checking the user's computing facility and/ordownloading the publisher may be initiated.

In embodiments, the publisher 112, as a browser plug-in embedded into abrowser enabled processor platform 104, may be integral with a videoenabled recording/storage device 102. The user 602 may record the videofile with the video enabled recording/storage device 102, drag the videofile into publisher 112, edit the file as desired, transcode the fileand otherwise make it ready to send the file to the content deliverynetwork 124 via publisher 112, the network 118, and the applicationserver(s) 120 when a connection to the network is available. An exampleof this configuration may be a digital video camera 102B with thepublisher 112 hosted locally by a browser enabled processor platform104. The capturing of the video file, and the capability to edit thevideo clip by cutting and splicing the video and possibly adding audio,may be completed with the same device. In embodiments, the publisher maybe launched or updated when an interaction with the intended postingsite is made.

In embodiments, the publisher 112, as a browser plug-in embedded into abrowser enabled processor platform 104, may be utilized to post videofiles on personal websites 122. A user of a browser-enabled videomanipulation and posting facility 100 may post video files with littletechnical knowledge. The user 602 may transfer a video file from a videoenabled recording/storage device 102, or from a local database 130, editthe file as desired, transcode, and send to the content delivery network124 via publisher 112 and the application server(s) 120. To begin theprocess of posting the video file to the desired page, the user mayselect the target space on a page and initiate the process. If thepublisher is already loaded on the user's client computing facility, thecapture, editing, and transcoding processes may take place through theuse of the publisher 112 and then the transcoded file may be posted tothe target space. In embodiments, the action of posting may involvetransferring the video file to a content delivery network and posting anassociated link (e.g. a link that is associated with a player) on thetarget space. The link may also contain a snippet or otherrepresentation identifying the video. In embodiments, the applicationserver(s) 120 may send the user 602 a link to the file that the user 602for his own records or to be referenced or posted. Any user 602 withaccess to the web site may now select the hyperlink for download of thevideo file for viewing and/or storage to a database 130. In embodiments,the player is a browser plug-in style player and if the user 602selecting the file for download does not have a video player 128, theapplication server(s) 120 may give the user 602 the option ofdownloading the player 128. The process involving the users 602downloading the video file may continue within the constraints set up bycontrol parameters set up by the posting user. In embodiments, the‘link’ that is supplied on the website may be a media player (e.g. a webenabled video player, a client player, or a browser plug-in styleplayer). In embodiments, the ‘link’ provides connection to the videofile and facilitates playback of the video.

In embodiments, the publisher 112, as a browser plug-in embedded into abrowser enabled processor platform 104, may be utilized to post videofiles on personal networking websites 122 such as MySpace.com,bebo.com,tagged.com, tagwolrd.com, Xanga.com, bolt.com, orkut.com, piczo.com,myyearbook.com, hi5.com or other such sites. These personal networkingwebsites can be generally described as commercial websites 122 throughwhich individuals may post pictures and information about themselves, orof people and things that are a part of their lives, as a part of apersonal network of individuals. Amongst the many features of thesepersonal networking websites an individual may profile themselves (e.g.often including linked pictures, etc.), search or browse for othermembers profiles, and invite others to join a personal network.

A primary feature of the personal profile of personal networkingwebsites is the digital photograph(s) of the individual. Digital stillimages are very limited in their ability to convey personality, andvideo images are far superior in this regard. Users 602 of thebrowser-enabled video manipulation and posting facility 100 may providea personal networking website 122 (such as MySpace.com) with a link to apersonal video that has been previously stored in the content deliverynetwork 124. Again, the link may be associated with a player and oneinteracting with the link may initiate playback of the associated videofile. The user 602 may transfer a video file from a video enabledrecording/storage device 102, or from a local database 130, edit thefile as desired, and send to the content delivery network 124 viapublisher 112 and the application server(s) 120. To begin the process ofposting the video file to the desired page (e.g. the MyPlace page), theuser may select the target space and initiate the process. If thepublisher is already loaded on the user's client computing facility, thecapture, editing, and transcoding processes may take place through theuse of the publisher and then the transcoded file may be posted to thetarget space. In embodiments, the posting may involve transferring thevideo file to a content delivery network and posting an associated link(e.g. possibly associated with a player) on the target space. The linkmay also contain a snippet or other representation identifying thevideo. In embodiments, the application server(s) 120 may send the user602 a link to the file that the user 602 for his own records or to bereferenced or posted. Any user 602 with access to the personalnetworking website 122 may now select the hyperlink for download of thevideo file for viewing and/or storage to a database 130. If the user 602selecting the file for download does not have a video player 128, theapplication server(s) 120 may give the user 602 the option ofdownloading the player 128. The process of personal networking users 602downloading the video file may continue within the constraints set up bythe posting user's 602 control parameters. In embodiments, the ‘link’that is supplied on the website may be a media player (e.g. a webenabled video player, or a browser plug-in style player). Inembodiments, the ‘link’ provides connection to the video file andfacilitates playback of the video.

In an alternative embodiment, a user may be provided with a video filesubmission template to manage the process of delivering the video fileand link(s) to the video file to the appropriate places. For example, atemplate may be provided that automatically directs the location of thevideo file (e.g. location on the content delivery network) and thelocation of the link (e.g. the space on the website). The template mayalso have fields for meta data, personal data or the like. Theindividual sending a personal networking website a video file may beable to request the template from website that allows them to providethe video, along with information about the video, directly to thepersonal networking website. The user then utilizes the browser-enabledvideo manipulation and posting facility 100 to store the video file onthe content delivery network 124 and hyperlink it to the file from theindividual's personal profile.

In embodiments, the publisher 112, as a browser plug-in embedded into abrowser enabled processor platform 104, may be utilized to post videofiles on personals websites 122 such as Yahoo personals, Match.com, oreHarmony. Personals over a network 118 are commercial websites 122through which individuals may post pictures and information aboutthemselves for the purpose of developing personal relationships. Forinstance, in the Yahoo personals, a person entering the website 122 maycreate a personal profile of themselves and search through the website122 database for potential matches. Alternate approaches, such aseHarmony, profile an individual through questionnaires, then attempt tomatch individuals within the database using some compatibilityalgorithm. Personals websites 122 generally utilize some version oftextual information about the individuals entering into the database.

In embodiments, users 602 of the browser-enabled video manipulation andposting facility 100 may provide a personals website 122 with a link toa personal video that has been previously stored in the content deliverynetwork 124. The link may be associated with a player and oneinteracting with the link may initiate playback of the associated videofile. The user 602 may transfer a video file from a video enabledrecording/storage device 102, or from a local database 130, edit thefile as desired, and send to the content delivery network 124 viapublisher 112 and the application server(s) 120. To begin the process ofposting the video file to the desired page, the user may select thetarget space and initiate the process. If the publisher is alreadyloaded on the user's client computing facility, the capture, editing,and transcoding processes may take place through the use of thepublisher and then the transcoded file may be posted to the targetspace. In embodiments, the posting may involve transferring the videofile to a content delivery network and posting an associated link (e.g.possibly associated with a player) on the target space. The link mayalso contain a snippet or other representation identifying the video. Inembodiments, the application server(s) 120 may send the user 602 a linkto the file that the user 602 for his own records or to be referenced orposted. Any user 602 with access to the link on the personals website122 may now select the hyperlink for download of the video file forviewing and/or storage to a database 130. If the user 602 selecting thefile for download does not have a video player 128, the applicationserver(s) 120 may give the user 602 the option of downloading the player128. The process involving the users 602 downloading the video file maycontinue within the constraints set up by the posting user's 602 controlparameters. In embodiments, the ‘link’ that is supplied on the websitemay be a media player (e.g. a web enabled video player, or a browserplug-in style player). In embodiments, the ‘link’ provides connection tothe video file and facilitates playback of the video.

In an alternative embodiment, a user may be provided with a video filesubmission template to manage the process of delivering the video fileand link(s) to the video file to the appropriate places. For example, atemplate may be provided that automatically directs the location of thevideo file (e.g. location on the content delivery network) and thelocation of the link (e.g. the space on the website). The template mayalso have fields for meta data, personal data or the like. Theindividual sending the personals website 122 a video file may be able torequest the template from the website 122 that allows them to providethe video, along with information about the video, directly to thepersonals website. The personals website then utilizes thebrowser-enabled video manipulation and posting facility 100 to store thevideo file on the content delivery network 124 and hyperlink it to theindividual's profile.

In embodiments, the publisher 112, as a browser plug-in embedded into abrowser enabled processor platform 104, may be utilized to post videofiles on business websites 122 for internal company use. A company mayprovide a decentralized means of providing access to the posting ofvideo files linked to the company's public Internet site or restrictedintranet site. A user of a browser-enabled video manipulation andposting facility 100 may post video files with little technicalknowledge. An employee, as a user 602, transfers a video file from avideo enabled recording/storage device 102, or from a local database130, edit the file as desired, and send to the content delivery network124 via publisher 112 and the application server(s) 120. To begin theprocess of posting the video file to the desired page, the user mayselect the target space and initiate the process. If the publisher isalready loaded on the user's client computing facility, the capture,editing, and transcoding processes may take place through the use of thepublisher and then the transcoded file may be posted to the targetspace. In embodiments, the posting may involve transferring the videofile to a content delivery network and posting an associated link (e.g.possibly associated with a player) on the target space. The link mayalso contain a snippet or other representation identifying the video. Inembodiments, the application server(s) 120 may send the user 602 a linkto the file that the user 602 for his own records or to be referenced orposted. Any user 602 with access to the business web site may now selectthe hyperlink for download of the video file for viewing and/or storageto a database 130. If the user 602 selecting the file for download doesnot have a video player 128, the application server(s) 120 may give theuser 602 the option of downloading the player 128. The process involvingthe users 602 downloading the video file may continue within theconstraints set up by the posting user's 602 control parameters. Inembodiments, the ‘link’ that is supplied on the website may be a mediaplayer (e.g. a web enabled video player, or a browser plug-in styleplayer). In embodiments, the ‘link’ provides connection to the videofile and facilitates playback of the video.

In an alternative embodiment, a user may be provided with a video filesubmission template to manage the process of delivering the video fileand link(s) to the video file to the appropriate places. For example, atemplate may be provided that automatically directs the location of thevideo file (e.g. location on the content delivery network) and thelocation of the link (e.g. the space on the website). The template mayalso have fields for meta data, personal data or the like. The employeesending the webmaster a video file may be able to request the templatefrom the business website that allows them to provide the video, alongwith information about the video, directly to the webmaster. Thebusiness then utilizes the browser-enabled video manipulation andposting facility 100 to store the video file on the content deliverynetwork 124 and hyperlink to the file from the company's website.

In embodiments, the publisher 112, as a browser plug-in embedded into abrowser enabled processor platform 104, may be utilized to post videofiles for inter-business purposes (e.g. an internet or extranet). Acompany may provide a decentralized means of conductingcompany-to-company exchanges for contractual or advertisement purposes.For instance, a business may need to supply video files to satisfy orverify a contractual requirement. A business may also need to supply avideo to another business for marketing purposes. Through the use of abrowser-enabled video manipulation and posting facility 100 the businessmay only need to supply another company a link to the previously storedvideo file. An employee, as a user 602, transfers a video file from avideo enabled recording/storage device 102, or from a local database130, edit the file as desired, and send to the content delivery network124 via publisher 112 and the application server(s) 120. To begin theprocess of posting the video file to the desired page, the user mayselect the target space and initiate the process. If the publisher isalready loaded on the user's client computing facility, the capture,editing, and transcoding processes may take place through the use of thepublisher and then the transcoded file may be posted to the targetspace. In embodiments, the posting may involve transferring the videofile to a content delivery network and posting an associated link (e.g.possibly associated with a player) on the target space. The link mayalso contain a snippet or other representation identifying the video. Inembodiments, the application server(s) 120 may send the user 602 a linkto the file that the user 602 for his own records or to be referenced orposted. The other company may now select the hyperlink for download ofthe video file for viewing and/or storage to a database 130. If theemployee of the other company 602 selecting the file for download doesnot have a video player 128, the application server(s) 120 may give theuser 602 the option of downloading the player 128. Access to the videofile continues within the constraints set up by the posting user's 602control parameters. In embodiments, the ‘link’ that is supplied on thewebsite may be a media player (e.g. a web enabled video player, or abrowser plug-in style player). In embodiments, the ‘link’ providesconnection to the video file and facilitates playback of the video.

In embodiments, the publisher 112, as a browser plug-in embedded into abrowser enabled processor platform 104, may be utilized by businessesfor the posting of video files for interactions with customers. Videofiles would be a great improvement over the limited descriptiveness of adigital still image, and it is essential that interactions betweencompanies and customers be clear and concise. A browser-enabled videomanipulation and posting facility 100 may provide a business astraightforward, decentralized means of conducting interactions withcustomers. For instance, a business may need to supply video files to acustomer as a part of assistance with a product. When assisting thecustomer the employee transfers the video file from a video enabledrecording/storage device 102, or from a local database 130, edit thefile as desired, and send to the content delivery network 124 viapublisher 112 and the application server(s) 120. To begin the process ofposting the video file to the desired page, the user may select thetarget space and initiate the process. If the publisher is alreadyloaded on the user's client computing facility, the capture, editing,and transcoding processes may take place through the use of thepublisher and then the transcoded file may be posted to the targetspace. In embodiments, the posting may involve transferring the videofile to a content delivery network and posting an associated link (e.g.possibly associated with a player) on the target space. The link mayalso contain a snippet or other representation identifying the video. Inembodiments, the application server(s) 120 may send the user 602 a linkto the file that the user 602 for his own records or to be referenced orposted. The customer may now access the business web site to select thehyperlink for download of the video file for viewing and/or storage to adatabase 130. If the customer selecting the file for download does nothave a video player 128, the application server(s) 120 may give thecustomer the option of downloading the player 128. Customer access todownloading the video file may continue within the constraints set up bythe posting user's 602 control parameters. In embodiments, the ‘link’that is supplied on the website may be a media player (e.g. a webenabled video player, or a browser plug-in style player). Inembodiments, the ‘link’ provides connection to the video file andfacilitates playback of the video.

Alternatively, the customer may wish to supply the business with a videofile in support of a product issue. In this case the customer maydownload a video submission template from the business website 122 thatallows the customer to post a video file to the browser-enabled videomanipulation and posting facility 100 though the service provided by thebusiness. The customer supplies the video file and associated text inthe template submission, which posts the video file to the contentdelivery network 124 and supplies the business with the link forviewing. Access to the file may continue within the constraints set upby the company through its control parameter.

In embodiments, the publisher 112, as a browser plug-in embedded into abrowser enabled processor platform 104, may be utilized to post videofiles on an e-commerce auction website 122 such as eBay, Yahoo auctions,or Amazon.com auctions. Ebay, for instance, is a commercial website 122through which individuals buy and sell items such as antiques, art,cameras cars, clothing, collectibles, crafts, movies, home & gardenequipment, Jewelry, watches, music, real estate, sporting goods, stamps,toys, travel tickets, and like.

A primary feature in the purchase or sale of something through a network118 is a visual image of the item. Views of the items, taken with adigital still camera 102A provide a limited projection of the item, anda video file showing the item would be a significant improvement. Users602 of a browser-enabled video manipulation and posting facility 100 mayprovide a video file to the item description as provided for each itemon eBay or other auction site. The user 602 transfers their video filefrom a video enabled recording/storage device 102, or from a localdatabase 130, edit the file as desired, and send to the content deliverynetwork 124 via publisher 112 and the application server(s) 120. Tobegin the process of posting the video file to the desired page, theuser may select the target space and initiate the process. If thepublisher is already loaded on the user's client computing facility, thecapture, editing, and transcoding processes may take place through theuse of the publisher and then the transcoded file may be posted to thetarget space. In embodiments, the posting may involve transferring thevideo file to a content delivery network and posting an associated link(e.g. possibly associated with a player) on the target space. The linkmay also contain a snippet or other representation identifying thevideo. In embodiments, the application server(s) 120 may send the user602 a link to the file that the user 602 for his own records or to bereferenced or posted. Any user 602 with access to the eBay or otherauction website 122 may now select the hyperlink for download of thevideo file for viewing and/or storage to a database 130. If the user 602selecting the file for download does not have a video player 128, theapplication server(s) 120 may give the user 602 the option ofdownloading the player 128. The process of eBay or other auctions users602 downloading the video file may continue within the constraints setup by the posting user's 602 control parameters, which may be set fromthe requirements of the end time for the item as set by eBay.

In an alternative embodiment, a user may be provided with a video filesubmission template to manage the process of delivering the video fileand link(s) to the video file to the appropriate places. For example, atemplate may be provided that automatically directs the location of thevideo file (e.g. location on the content delivery network) and thelocation of the link (e.g. the space on the website). The template mayalso have fields for meta data, personal data or the like. Theindividual sending eBay or other auction site a video file for an itemmay be able to request the template from eBay or other auction site thatallows them to provide the video, along with information about thevideo, directly to eBay or other auction site. EBay or other auctionsite then utilizes the browser-enabled video manipulation and postingfacility 100 to store the video file on the content delivery network 124and hyperlink to the item file on the eBay or other auction website 122.

In addition to the improvement in visual insight provided by theavailability of a video file during the sale of the item,straightforward access to a video file posting facility for the sake ofpossible return of the item is also extremely advantageous. Network 118auctions do not generally allow the buyer to view the item directly, andthe item requires packing and shipping. In the event of an item beingdefective in some way upon receiving by the purchaser, the user of abrowser-enabled video manipulation and posting facility 100 may create avideo file of the defective item with a video enabled recording/storagedevice 102 and make the video file available to the seller though ahyperlink provided by the application server(s) 120. The buyer andseller may now make a more informed informational exchange prior to thebuyer insisting on the item being shipped back to the seller.

In embodiments, the publisher 112, as a browser plug-in embedded into abrowser enabled processor platform 104, may be utilized to post videofiles for non-network based auctions. Auctions for the police, fromestates, or from repossessions are often limited in the informationabout the items for auction. The creation and posting of a networkviewable video file for walking through the items to be auctioned wouldbe very effective. A user of a browser-enabled video manipulation andposting facility 100 may take a video of the auction site and items forsale and provide a hyperlink to potential buyers prior to the auctionday. The individual or auction agent transfers a video file from a videoenabled recording/storage device 102, or from a local database 130, editthe file as desired, and send to the content delivery network 124 viapublisher 112 and the application server(s) 120. To begin the process ofposting the video file to the desired page, the user may select thetarget space and initiate the process. If the publisher is alreadyloaded on the user's client computing facility, the capture, editing,and transcoding processes may take place through the use of thepublisher and then the transcoded file may be posted to the targetspace. In embodiments, the posting may involve transferring the videofile to a content delivery network and posting an associated link (e.g.possibly associated with a player) on the target space. The link mayalso contain a snippet or other representation identifying the video. Inembodiments, the application server(s) 120 may send the user 602 a linkto the file that the user 602 for his own records or to be referenced orposted. Any user 602 with access to the web site may now select thehyperlink for download of the video file for viewing and/or storage to adatabase 130. If the user 602 selecting the file for download does nothave a video player 128, the application server(s) 120 may give the user602 the option of downloading the player 128. The process involving theusers 602 downloading the video file may continue within the constraintsset up by the posting user's 602 control parameters. In embodiments, the‘link’ that is supplied on the website may be a media player (e.g. a webenabled video player, or a browser plug-in style player). Inembodiments, the ‘link’ provides connection to the video file andfacilitates playback of the video.

In embodiments, the publisher 112, as a browser plug-in embedded into abrowser enabled processor platform 104, may be utilized to post videofiles for non-network based auctions such as a cattle auction. Thecreation and posting of a network viewable video file for walkingthrough the cattle to be auctioned may be a very effective means ofconnecting the seller and the buyer. A user of a browser-enabled videomanipulation and posting facility 100 may take a video of the cattle andprovide a hyperlink to potential buyers prior to the auction day. Theindividual or auction agent transfers a video file from a video enabledrecording/storage device 102, or from a local database 130, edit thefile as desired, and send to the content delivery network 124 viapublisher 112 and the application server(s) 120. To begin the process ofposting the video file to the desired page, the user may select thetarget space and initiate the process. If the publisher is alreadyloaded on the user's client computing facility, the capture, editing,and transcoding processes may take place through the use of thepublisher and then the transcoded file may be posted to the targetspace. In embodiments, the posting may involve transferring the videofile to a content delivery network and posting an associated link (e.g.possibly associated with a player) on the target space. The link mayalso contain a snippet or other representation identifying the video. Inembodiments, the application server(s) 120 may send the user 602 a linkto the file that the user 602 for his own records or to be referenced orposted. Any user 602 with access to the action web site may now selectthe hyperlink for download of the video file for viewing and/or storageto a database 130. If the user 602 selecting the file for download doesnot have a video player 128, the application server(s) 120 may give theuser 602 the option of downloading the player 128. The process involvingthe users 602 downloading the video file may continue within theconstraints set up by the posting user's 602 control parameters. Inembodiments, the ‘link’ that is supplied on the website may be a mediaplayer (e.g. a web enabled video player, or a browser plug-in styleplayer). In embodiments, the ‘link’ provides connection to the videofile and facilitates playback of the video.

In embodiments, the publisher 112, as a browser plug-in embedded into abrowser enabled processor platform 104, may be utilized to post videofor the sale of Real Estate. The process of searching for a home topurchase is very time-consuming, involving physically driving to theReal Estate of interest and walking around to determine whether the RealEstate is desirable. Still images from a digital camera 102A are verylimited in projecting a large property and/or a dwelling, and a videofile would greatly improve the perspective provided to the potentialcustomer about properties. This may save time of the Real Estate agent,the buyers, and the sellers by reducing the time spent physicallyvisiting unsuitable properties.

In embodiments, a user of a browser-enabled video manipulation andposting facility 100 may take a video of a tour of the property andprovide a hyperlink to potential buyers prior to physically visiting thesite. The Real Estate agent transfers a video file from a video enabledrecording/storage device 102, or from a local database 130, edit thefile as desired, and send to the content delivery network 124 viapublisher 112 and the application server(s) 120. To begin the process ofposting the video file to the desired page, the user may select thetarget space and initiate the process. If the publisher is alreadyloaded on the user's client computing facility, the capture, editing,and transcoding processes may take place through the use of thepublisher and then the transcoded file may be posted to the targetspace. In embodiments, the posting may involve transferring the videofile to a content delivery network and posting an associated link (e.g.possibly associated with a player) on the target space. The link mayalso contain a snippet or other representation identifying the video. Inembodiments, the application server(s) 120 may send the user 602 a linkto the file that the user 602 for his own records or to be referenced orposted. Any potential buyer with access to the web site may now selectthe hyperlink for download of the video file for viewing and/or storageto a database 130. If the potential buyer selecting the file fordownload does not have a video player 128, the application server(s) 120may give them the option of downloading the player 128. The process ofpotential buyers downloading the video file may continue within theconstraints set up by the posting user's 602 control parameters. Inembodiments, the ‘link’ that is supplied on the website may be a mediaplayer (e.g. a web enabled video player, or a browser plug-in styleplayer). In embodiments, the ‘link’ provides connection to the videofile and facilitates playback of the video.

In embodiments, the publisher 112, as a browser plug-in embedded into abrowser enabled processor platform 104, may be utilized to post video ofvirtual tours of historic, public, private, or personal sites. Stillimages from a digital camera 102A are very limited in projecting aperspective of a place, which is normally meant to be physicallyvisited. A virtual tour, by way of a video file, allows the virtualvisitor to better absorb the environment of the site, either in lieu ofan actual visit or in the planning of a potential visit. A user of abrowser-enabled video manipulation and posting facility 100 may take avideo of a tour of the property and provide a hyperlink to potentialbuyers prior to physically visiting the site. The Real Estate agenttransfers a video file from a video enabled recording/storage device102, or from a local database 130, edit the file as desired, and send tothe content delivery network 124 via publisher 112 and the applicationserver(s) 120. To begin the process of posting the video file to thedesired page, the user may select the target space and initiate theprocess. If the publisher is already loaded on the user's clientcomputing facility, the capture, editing, and transcoding processes maytake place through the use of the publisher and then the transcoded filemay be posted to the target space. In embodiments, the posting mayinvolve transferring the video file to a content delivery network andposting an associated link (e.g. possibly associated with a player) onthe target space. The link may also contain a snippet or otherrepresentation identifying the video. In embodiments, the applicationserver(s) 120 may send the user 602 a link to the file that the user 602for his own records or to be referenced or posted. Any potential buyerwith access to the web site may now select the hyperlink for download ofthe video file for viewing and/or storage to a database 130. If thepotential buyer selecting the file for download does not have a videoplayer 128, the application server(s) 120 may give them the option ofdownloading the player 128. The process of potential buyers downloadingthe video file may continue within the constraints set up by the postinguser's 602 control parameters. In embodiments, the ‘link’ that issupplied on the website may be a media player (e.g. a web enabled videoplayer, or a browser plug-in style player). In embodiments, the ‘link’provides connection to the video file and facilitates playback of thevideo.

In embodiments, the publisher 112, as a browser plug-in embedded into abrowser enabled processor platform 104 and integrated with a videoenabled recording/storage device 102, may be utilized to create, edit,and post video files on personal websites 122. In addition, if theuser's 602 network interface 110A were wireless, the user 602 mayperform this task remotely. A user of a browser-enabled videomanipulation and posting facility 100 may post video files with littletechnical knowledge. The user 602 may record the video file with thevideo enabled recording/storage device 102, drags the video file intopublisher 112, edit the file as desired, and send to the contentdelivery network 124 via publisher 112, the network 118, and theapplication server(s) 120. Any user 602 with access to the personal website may now select the hyperlink for download of the video file forviewing and/or storage to a database 130. If the user 602 selecting thefile for download does not have a video player 128, the applicationserver(s) 120 may give the user 602 the option of downloading the player128. The process involving the users 602 downloading the video file maycontinue within the constraints set up by the posting user's 602 controlparameters. In embodiments, the ‘link’ that is supplied on the websitemay be a media player (e.g. a web enabled video player, or a browserplug-in style player). In embodiments, the ‘link’ provides connection tothe video file and facilitates playback of the video.

An example of this process may be a user 602 on vacation or away fromhome for the weekend, recording video files, and uploading these videofiles through the network to a personal website 122. Family members maynow view the user's 602 video files while the user is still away fromhome. This ability to immediately post video files to a personal website122 may be made through the integration of a video enabledrecording/storage device 102 into a browser-enabled video manipulationand posting facility 100. In addition, the process may be performedremotely if the user's 602 network connection is wireless. The user mayperform this process in two steps, first uploading the video file to thecontent delivery network 124 and receiving back a link to said videofile, and second, to connect to the user's 602 personal website 122 andmanually hyperlink to the video file. Alternatively, the user 602 mayutilize some form of template provided by a service to perform theprocess in a single step. The template may enable the user to submit thevideo file along with the web address where the file is to be linked. Inthis case the service may be a user on the browser-enabled videomanipulation and posting facility 100.

In embodiments, the publisher 112, as a browser plug-in embedded into abrowser enabled processor platform 104, and integrated with a videoenabled recording/storage device 102, may be utilized to create, edit,and post video files on personal networking websites 122 such asMySpace.com, bebo.com, tagged.com, tagwolrd.com, Xanga.com, bolt.com,orkut.com, piczo.com, myyearbook.com, hi5.com or other such sites. Inaddition, if the user's 602 network interface 110A were wireless, theuser 602 may perform this task remotely. These personal networkingwebsites 122 can be generally described as commercial websites 122through which individuals may post pictures and information aboutthemselves, or of people and things that are a part of their lives, as apart of a personal network of individuals. Amongst the many features ofa personal networking website is an individual may profile themselves(e.g. often including linked pictures, etc), search or browse for othermembers profiles, and invite others to join a personal network.

A primary feature of the personal profile of a personal networkingwebsite is the digital photograph(s) of the individual. Digital stillimages are very limited in their ability to convey personality, andvideo images are far superior in this regard. Users 602 of thebrowser-enabled video manipulation and posting facility 100 may providea personal networking website 122 with a link to a personal video thathas been previously stored in the content delivery network 124. The linkmay be associated with a player and one interacting with the link mayinitiate playback of the associated video file. The user 602 may recordthe video file with the video enabled recording/storage device 102,drags the video file into publisher 112, edit the file as desired, andsend to the content delivery network 124 via publisher 112, the network118, and the application server(s) 120. The process of posting the videomay begin with the user's selection of a space to post to and theposting may occur in an automatic or background fashion such that theuser does not have to participate in the interactions. Any user 602 withaccess to the website 122 may now select the hyperlink for download ofthe video file for viewing and/or storage to a database 130. If the user602 selecting the file for download does not have a video player 128,the application server(s) 120 may give the user 602 the option ofdownloading the player 128. The process users 602 downloading the videofile may continue within the constraints set up by the posting user's602 control parameters. In embodiments, the ‘link’ that is supplied onthe website may be a media player (e.g. a web enabled video player, or abrowser plug-in style player). In embodiments, the ‘link’ providesconnection to the video file and facilitates playback of the video.

An example of this process may be a user 602 on vacation or away fromhome for the weekend, recording video files, and uploading these videofiles through the network to the personal networking website 122. Familymembers may now view the user's 602 video files while the user is stillaway from home. This facility to immediately post video files to apersonal website 122 may be made through the integration of a videoenabled recording/storage device 102 into a browser-enabled videomanipulation and posting facility 100. In addition, the process may beperformed remotely if the user's 602 network connection is wireless. Theuser may perform this process in two steps, first uploading the videofile to the content delivery network 124 and receiving back a link tosaid video file, and second, to connect to the user's 602 personalprofile on the personal networking website 122 and manually hyperlink tothe video file. Alternatively, the user 602 may utilize some form oftemplate provided by the personal networking website or other service toperform the process in a single step. The template may enable the userto submit the video file along with the web address where the file is tobe linked. In this case personal networking website or the service maybe a user on the browser-enabled video manipulation and posting facility100.

In embodiments, the publisher 112, as a browser plug-in embedded into abrowser enabled processor platform 104, and integrated with a videoenabled recording/storage device video enabled recording/storage device102, may be utilized to create, edit, and post video files on businesswebsites 122 for internal company use. In addition, if the user's 602network interface 110A were wireless, the user 602 may perform this taskremotely. A company may provide a decentralized means of providingaccess to the posting of video files linked to the company's publicInternet site or restricted intranet site. A user of a browser-enabledvideo manipulation and posting facility 100 may post video files withlittle technical knowledge. The user 602 may record the video file withthe video enabled recording/storage device 102, drags the video fileinto publisher 112, edit the file as desired, and send to the contentdelivery network 124 via publisher 112, the network 118, and theapplication server(s) 120. To begin the process of posting the videofile to the desired page, the user may select the target space andinitiate the process. If the publisher is already loaded on the user'sclient computing facility, the capture, editing, and transcodingprocesses may take place through the use of the publisher and then thetranscoded file may be posted to the target space. In embodiments, theposting may involve transferring the video file to a content deliverynetwork and posting an associated link (e.g. possibly associated with aplayer) on the target space. The link may also contain a snippet orother representation identifying the video. In embodiments, theapplication server(s) 120 may send the user 602 a link to the file thatthe user 602 for his own records or to be referenced or posted. Any user602 with access to the business web site may now select the hyperlinkfor download of the video file for viewing and/or storage to a database130. If the user 602 selecting the file for download does not have avideo player 128, the application server(s) 120 may give the user 602the option of downloading the player 128. The process involving theusers 602 downloading the video file may continue within the constraintsset up by the posting user's 602 control parameters. In embodiments, the‘link’ that is supplied on the website may be a media player (e.g. a webenabled video player, or a browser plug-in style player). Inembodiments, the ‘link’ provides connection to the video file andfacilitates playback of the video.

An example of this process may be an employee at a remote work site andneeding to upload video files to the company website. Other members ofthe company may now view the employee's video files taken on site, whilethe employee is still at the remote site. This facility to immediatelypost video files to a personal website 122 may be made through theintegration of a video enabled recording/storage device 102 into abrowser-enabled video manipulation and posting facility 100. Inaddition, the process may be performed remotely if the user's 602network connection is wireless. The employee may perform this process intwo steps, first uploading the video file to the content deliverynetwork 124 and receiving back a link to said video file, and second, toconnect to the employee's company website 122 and manually hyperlink tothe video file. Alternatively, the employee may utilize some form oftemplate provided by the company or other service to perform the processin a single step. The template may enable the employee to submit thevideo file along with the web address where the file is to be linked tothe company's webmaster. In this case the company or the service may bea user on the browser-enabled video manipulation and posting facility100. In embodiments, to begin the process of posting the video file tothe desired page, the user may select the target space and initiate theprocess. If the publisher is already loaded on the user's clientcomputing facility, the capture, editing, and transcoding processes maytake place through the use of the publisher and then the transcoded filemay be posted to the target space. In embodiments, the posting mayinvolve transferring the video file to a content delivery network andposting an associated link (e.g. possibly associated with a player) onthe target space. The link may also contain a snippet or otherrepresentation identifying the video. In embodiments, the applicationserver(s) 120 may send the user 602 a link to the file that the user 602for his own records or to be referenced or posted.

In embodiments, the publisher 112, as a browser plug-in embedded into abrowser enabled processor platform 104 and integrated with a videoenabled recording/storage device 102, may be utilized to create, edit,and post video files for inter-business purposes. In addition, if theuser's 602 network interface 110A were wireless, the user 602 mayperform this task remotely. A company may provide a decentralized meansof conducting company-to-company exchanges for contractual oradvertisement purposes. For instance, a business may need to supplyvideo files to satisfy or verify a contractual requirement. A businessmay also need to supply a video to another business for marketingpurposes. Through the use of a browser-enabled video manipulation andposting facility 100 the business may only need to supply anothercompany a link to the previously stored video file. An employee, as auser 602, records the video file with the video enabledrecording/storage device video enabled recording/storage device 102,drags the video file into publisher 112, edit the file as desired, andsend to the content delivery network 124 via publisher 112, the network118, and the application server(s) 120. To begin the process of postingthe video file to the desired page, the user may select the target spaceand initiate the process. If the publisher is already loaded on theuser's client computing facility, the capture, editing, and transcodingprocesses may take place through the use of the publisher and then thetranscoded file may be posted to the target space. In embodiments, theposting may involve transferring the video file to a content deliverynetwork and posting an associated link (e.g. possibly associated with aplayer) on the target space. The link may also contain a snippet orother representation identifying the video. In embodiments, theapplication server(s) 120 may send the user 602 a link to the file thatthe user 602 for his own records or to be referenced or posted. Theother company may now select the hyperlink for download of the videofile for viewing and/or storage to a database 130. If the employee ofthe other company 602 selecting the file for download does not have avideo player 128, the application server(s) 120 may give the user 602the option of downloading the player 128. Access to the video filecontinues within the constraints set up by the posting user's 602control parameters. In embodiments, the ‘link’ that is supplied on thewebsite may be a media player (e.g. a web enabled video player, or abrowser plug-in style player). In embodiments, the ‘link’ providesconnection to the video file and facilitates playback of the video.

An example of this process may be an employee working on a contract at aremote site for an extended time period. The employee may need toconveniently provide video files to a contracting company or agency inpartial fulfillment of the contract. The contracting company or agencymay now view the user's 602 video files while the user is still on site.This facility to immediately post video files to a website 122 may bemade through the integration of a video enabled recording/storage device102 into a browser-enabled video manipulation and posting facility 100.In addition, the process may be performed remotely if the user's 602network connection is wireless. The user may perform this process in twosteps, first uploading the video file to the content delivery network124 and receiving back a link to said video file, and second, to connectto a user's 602 website 122 and manually hyperlink to the video file.Alternatively, the user 602 may utilize some form of template providedby the company or a service to perform the process in a single step. Thetemplate may enable the user to submit the video file along with the webaddress where the file is to be linked. In this case the company or theservice may be a user on the browser-enabled video manipulation andposting facility 100. In embodiments, to begin the process of postingthe video file to the desired page, the user may select the target spaceand initiate the process. If the publisher is already loaded on theuser's client computing facility, the capture, editing, and transcodingprocesses may take place through the use of the publisher and then thetranscoded file may be posted to the target space. In embodiments, theposting may involve transferring the video file to a content deliverynetwork and posting an associated link (e.g. possibly associated with aplayer) on the target space. The link may also contain a snippet orother representation identifying the video. In embodiments, theapplication server(s) 120 may send the user 602 a link to the file thatthe user 602 for his own records or to be referenced or posted.

In embodiments, the publisher 112, as a browser plug-in embedded into abrowser enabled processor platform 104 and integrated with a videoenabled recording/storage device 102, may be utilized by businesses tocreate, edit, and post video files for interactions with customers. Inaddition, if the user's 602 network interface 110A were wireless, theuser 602 may perform this task remotely. Video files would be a greatimprovement over the limited descriptiveness of a digital still image,and it is essential that interactions between companies and customers beclear and concise. A browser-enabled video manipulation and postingfacility 100 may provide a business a straightforward, decentralizedmeans of conducting interactions with customers. For instance, abusiness may need to supply video files to a customer as a part ofassistance with a product. When assisting the customer the employeerecords the video file with the video enabled recording/storage device102, drags the video file into publisher 112, edit the file as desired,and send to the content delivery network 124 via publisher 112, thenetwork 118, and the application server(s) 120. To begin the process ofposting the video file to the desired page, the user may select thetarget space and initiate the process. If the publisher is alreadyloaded on the user's client computing facility, the capture, editing,and transcoding processes may take place through the use of thepublisher and then the transcoded file may be posted to the targetspace. In embodiments, the posting may involve transferring the videofile to a content delivery network and posting an associated link (e.g.possibly associated with a player) on the target space. The link mayalso contain a snippet or other representation identifying the video. Inembodiments, the application server(s) 120 may send the user 602 a linkto the file that the user 602 for his own records or to be referenced orposted. The customer may now access the business web site to select thehyperlink for download of the video file for viewing and/or storage to adatabase 130. If the customer selecting the file for download does nothave a video player 128, the application server(s) 120 may give thecustomer the option of downloading the player 128. Customer access todownloading the video file may continue within the constraints set up bythe posting user's 602 control parameters. In embodiments, the ‘link’that is supplied on the website may be a media player (e.g. a webenabled video player, or a browser plug-in style player). Inembodiments, the ‘link’ provides connection to the video file andfacilitates playback of the video.

An example of this process may be a customer who wishes to supply thecompany with a video file in support of a product issue while at someremote location. The company may now view the customer's video fileswhile the customer is still on site. This facility to immediately postvideo files between a customer and a company may be made through theintegration of a video enabled recording/storage device 102 into abrowser-enabled video manipulation and posting facility 100. Inaddition, the process may be performed remotely if the user's 602network connection is wireless. The user may perform this process in twosteps, first uploading the video file to the content delivery network124 and receiving back a link to said video file, and second, to connectto a user's 602 website 122 and manually hyperlink to the video file.Alternatively, the user 602 may utilize some form of template providedby a company or a service to perform the process in a single step. Thetemplate may enable the user to submit the video file along with the webaddress where the file is to be linked. In this case the company or theservice may be a user on the browser-enabled video manipulation andposting facility 100. In embodiments, to begin the process of postingthe video file to the desired page, the user may select the target spaceand initiate the process. If the publisher is already loaded on theuser's client computing facility, the capture, editing, and transcodingprocesses may take place through the use of the publisher and then thetranscoded file may be posted to the target space. In embodiments, theposting may involve transferring the video file to a content deliverynetwork and posting an associated link (e.g. possibly associated with aplayer) on the target space. The link may also contain a snippet orother representation identifying the video. In embodiments, theapplication server(s) 120 may send the user 602 a link to the file thatthe user 602 for his own records or to be referenced or posted.

In embodiments, the publisher 112, as a browser plug-in embedded into abrowser enabled processor platform 104 and integrated with a videoenabled recording/storage device 102, may be utilized to post videofiles on an e-commerce auction website 122 such as eBay, Yahoo auctions,or Amazon.com auctions. In addition, if the user's 602 network interface110A were wireless, the user 602 may perform this task remotely. EBay,for instance, is a commercial website 122 through which individuals buyand sell items such as antiques, art, cameras cars, clothing,collectibles, crafts, movies, home & garden equipment, Jewelry, watches,music, real estate, sporting goods, stamps, toys, travel tickets, andlike.

A primary feature in the purchase or sale of something through a network118 may be a visual image of the item. Views of the items, taken with adigital still camera 102A provide a limited projection of the item, anda video file showing the item would be a significant improvement. Users602 of a browser-enabled video manipulation and posting facility 100 mayprovide a video file to the item description as provided for each itemon eBay. The user 602 may record the video file with the video enabledrecording/storage device 102, drags the video file into publisher 112,edit the file as desired, and send to the content delivery network 124via publisher 112, the network 118, and the application server(s) 120.To begin the process of posting the video file to the desired page, theuser may select the target space and initiate the process. If thepublisher is already loaded on the user's client computing facility, thecapture, editing, and transcoding processes may take place through theuse of the publisher and then the transcoded file may be posted to thetarget space. In embodiments, the posting may involve transferring thevideo file to a content delivery network and posting an associated link(e.g. possibly associated with a player) on the target space. The linkmay also contain a snippet or other representation identifying thevideo. In embodiments, the application server(s) 120 may send the user602 a link to the file that the user 602 for his own records or to bereferenced or posted. Any user 602 with access to the eBay or otherwebsite 122 may now select the hyperlink for download of the video filefor viewing and/or storage to a database 130. If the user 602 selectingthe file for download does not have a video player 128, the applicationserver(s) 120 may give the user 602 the option of downloading the player128. The process of eBay users 602 downloading the video file maycontinue within the constraints set up by the posting user's 602 controlparameters, which may be set from the requirements of the end time forthe item as set by eBay or other auction site. In embodiments, the‘link’ that is supplied on the website may be a media player (e.g. a webenabled video player, or a browser plug-in style player). Inembodiments, the ‘link’ provides connection to the video file andfacilitates playback of the video.

An example of this process may be a user who purchases an item at anauction or at a garage sale, and wishes to put it immediately up forsale on eBay or other auction site. The user may create a video file ofthe item with a video enabled recording/storage device 102, edit thevideo clip as desired, and upload the video clip to the content deliverynetwork 124 through the browser-enabled video manipulation and postingfacility 100. The user then receives a link to the video file, which theuser sends to eBay or other auction site as a part of a new item forsale. Potential buyers may now view the user's 602 new submission toeBay or other auction site, with a video file of the item, while theuser is still away from home. This facility to immediately post videofiles to a personal website 122 may be made through the integration of avideo enabled recording/storage device 102 into a browser-enabled videomanipulation and posting facility 100. In addition, the process may beperformed remotely if the user's 602 network connection is wireless. Theuser may also perform this process in a single step by utilizing someform of video submission template provided by eBay or other auctionsite. The template may enable the user to submit the video file alongwith the standard information supplied to eBay other auction site, allin a single step. In this case the service may be a user on thebrowser-enabled video manipulation and posting facility 100.

In embodiments, the publisher 112 and player 128, as browser plug-insembedded into a browser enabled processor platform 104, may beintegrated into a single device. The user 602 may have the capability toreceive video files for editing from a video enabled recording/storagedevice 102. Editing of the video file may be done on the device. Theuser may also have the capability to download video files from thenetwork through the player 128, either from the browser-enabled videomanipulation and posting facility 100 or from some other networklocation 122, and edited with publisher 112. This video may be edited inthe same way as video transferred from the video enabledrecording/storage device 102. With a single device the user 602 mayreceive video clips from different sources for editing and subsequentposting to through the browser-enabled video manipulation and postingfacility 100. Editing may consist of cutting and concatenating videofrom multiple sources, adding audio from multiple sources, and producinga final product ready for posting. For example, a student may transfervideo files from a video enabled recording/storage device 102 and fromother sources, cut and combine the video files, adding text and effects,and create a final product for presentation. The final product may nowbe uploaded to the browser-enabled video manipulation and postingfacility 100 or transferred to a video enabled playback device 132 forsubsequent presentation. In embodiments, the ‘link’ that is supplied onthe website may be a media player (e.g. a web enabled video player, or abrowser plug-in style player). In embodiments, the ‘link’ providesconnection to the video file and facilitates playback of the video.

In embodiments, the publisher 112 and player 128, as browser plug-insembedded into a browser enabled processor platform 104 with a videoenabled playback device 132, may be integrated into a single device. Theuser 602 may have the capability to receive video files for editing froma video enabled recording/storage device 102. Editing of the video filemay be done on the device. The user may also have the capability todownload video files from the network through the player 128, eitherfrom the browser-enabled video manipulation and posting facility 100 orfrom some other network location 122, and edited with publisher 112 orplayed back through a video enabled playback device 132. This video maybe edited in the same way as video transferred from the video enabledrecording/storage device 102. With a single device the user 602 mayreceive video clips from different sources for editing and subsequentposting to through the browser-enabled video manipulation and postingfacility 100. Editing may consist of cutting and concatenating videofrom multiple sources, adding audio from multiple sources, and producinga final product ready for posting. For example, a student may transfervideo files from a video enabled recording/storage device 102 and fromother sources, cut and combine the video files, adding text and effects,and create a final product for presentation. The final product may nowbe presented through the player 128 to a video enabled playback device132. In embodiments, the ‘link’ that is supplied on the website may be amedia player (e.g. a web enabled video player, or a browser plug-instyle player). In embodiments, the ‘link’ provides connection to thevideo file and facilitates playback of the video.

In embodiments, the publisher 112 and player 128, as browser plug-insembedded into a browser enabled processor platform 104, may beintegrated with a video enabled recording/storage device 102 into asingle device. The user 602 may create video files for editing throughan integrated video enabled recording/storage device 102. Editing of thevideo file may be done on the device. The user may also have thecapability to download video files from the network through the player128, either from the browser-enabled video manipulation and postingfacility 100 or from some other network location 122, and edited withpublisher 112. This video may be edited in the same way as videotransferred from the video enabled recording/storage device 102. With asingle device the user 602 may receive video clips from differentsources for editing and subsequent posting to through thebrowser-enabled video manipulation and posting facility 100. Editing mayconsist of cutting and concatenating video from multiple sources, addingaudio from multiple sources, and producing a final product ready forposting. For example, a student may create video files through the videoenabled recording/storage device 102, transfer video files from othersources, cut and combine the video files adding text and effects, andcreate a final product ready for presentation. In embodiments, the‘link’ that is supplied on the website may be a media player (e.g. a webenabled video player, or a browser plug-in style player). Inembodiments, the ‘link’ provides connection to the video file andfacilitates playback of the video.

In embodiments, the publisher 112, as a browser plug-in embedded into abrowser enabled processor platform 104, may be integrated with a videoenabled playback device 132. The user 602 may edit video files throughthe publisher 112 that have been previously transferred from a videoenabled recording/storage device 102, or retrieved from local database114. Editing of the video file may be done directly on the device.Editing may consist of cutting and concatenating video, adding audio,and producing a final product ready for posting to a network. By havingpublisher 112 as an integral function within the device, the user 602need only drag the video file into publisher 112 and the video istranscoded into a common file format of the browser-enabled videomanipulation and posting facility 100, and is made available forediting. The user 602 may view the video file at any stage of theprocess though the video enabled playback device 132. The final editedversion of the video file may now be a final product ready for postingonto the browser-enabled video manipulation and posting facility 100 forother users 602 to view. An example of this integrated facility may be avideo display and manipulation device for viewing video files,integrated with a browser enabled processor platform 104 and the hostedbrowser 108 and publisher 112 browser plug-in. This video display andmanipulation device now may have the capability to edit, view, andproduce a final product for web posting while away from a networkconnection. When the user 602 establishes a network connection, the user602 may now simply upload the video file through the browser-enabledvideo manipulation and posting facility 100 for access to other users602. In embodiments, the ‘link’ that is supplied on the website may be amedia player (e.g. a web enabled video player, or a browser plug-instyle player). In embodiments, the ‘link’ provides connection to thevideo file and facilitates playback of the video.

In embodiments, the publisher 112, as a browser plug-in embedded into abrowser enabled processor platform 104, may be integrated with a videoenabled recording/storage device 102 and video enabled playback device132. The user 602 may create video files for editing through anintegrated video enabled recording/storage device 102 and played back onthe video enabled playback device 132. Editing of the video file may bedone directly on the device. Editing may consist of cutting andconcatenating video, adding audio, and producing a final product readyfor posting to a network. By having publisher 112 as an integralfunction within the device, the user 602 need only drag the video fileinto publisher 112 and the video is transcoded into a common file formatof the browser-enabled video manipulation and posting facility 100, andis made available for editing. The final edited version of the videofile may now be a final product ready for posting onto thebrowser-enabled video manipulation and posting facility 100 for otherusers 602 to view. An example of this integrated facility may be adigital video camera 102B with a display for viewing video files,integrated with a browser enabled processor platform 104 and the hostedbrowser 108 and publisher 112 browser plug-in. This enhanced digitalvideo camera 102B now may have the capability to edit and produce afinal product for web posting while away from a network connection. Whenthe user 602 establishes a network connection, the user 602 may nowsimply upload the video file through the browser-enabled videomanipulation and posting facility 100 for access to other users 602. Inembodiments, the ‘link’ that is supplied on the website may be a mediaplayer (e.g. a web enabled video player, or a browser plug-in styleplayer). In embodiments, the ‘link’ provides connection to the videofile and facilitates playback of the video.

In embodiments, the publisher 112, as a browser plug-in embedded into abrowser enabled processor platform 104 with an integrated video enabledplayback device, may be utilized to post video files on websites 122.Types of websites 122 may include personal websites 122; personalnetworking websites 122 such as personal networking websites; Businesswebsites 122 for intra-business, inter-business, or customerinteractions; e-commerce websites 122 such as e-Bay, personals, auctionsites, or real estate; organizational or governmental sites such astours of historical locations or tours of facilities; or enterprisewebsites 122 such as over the intranet, extranet, or internet. A user ofa browser-enabled video manipulation and posting facility 100 may postvideo files with little technical knowledge. The user 602 may transfer avideo file from a video enabled recording/storage device 102, or from alocal database 130, views the pre-edited video file on the video enabledplayback device 132, edits the file as desired, views the post-editedvideo file on the video enabled playback device video enabled playbackdevice 132, and sends the file to the content delivery network 124 viapublisher 112 and the application server(s) 120. To begin the process ofposting the video file to the desired page, the user may select thetarget space and initiate the process. If the publisher is alreadyloaded on the user's client computing facility, the capture, editing,and transcoding processes may take place through the use of thepublisher and then the transcoded file may be posted to the targetspace. In embodiments, the posting may involve transferring the videofile to a content delivery network and posting an associated link (e.g.possibly associated with a player) on the target space. The link mayalso contain a snippet or other representation identifying the video. Inembodiments, the application server(s) 120 may send the user 602 a linkto the file that the user 602 for his own records or to be referenced orposted. Any user 602 with access to the personal web site may now selectthe hyperlink for download of the video file for viewing and/or storageto a database 130. If the user 602 selecting the file for download doesnot have a video player 128, the application server(s) 120 may give theuser 602 the option of downloading the player 128. The process involvingthe users 602 downloading the video file may continue within theconstraints set up by the posting user's 602 control parameters. Inembodiments, the ‘link’ that is supplied on the website may be a mediaplayer (e.g. a web enabled video player, or a browser plug-in styleplayer). In embodiments, the ‘link’ provides connection to the videofile and facilitates playback of the video.

In embodiments, the publisher 112 and player 128, as browser plug-insembedded into a browser enabled processor platform 104 with anintegrated video enabled playback device, may be utilized to post videofiles on websites 122. Types of websites 122 may include personalwebsites 122; personal networking websites 122; Business websites 122for intra-business, inter-business, or customer interactions; e-commercewebsites 122 such as e-Bay, personals, auction sites, or real estate;organizational or governmental sites such as tours of historicallocations or tours of facilities; or enterprise websites 122 such asover the intranet, extranet, or internet. A user of a browser-enabledvideo manipulation and posting facility 100 may post video files withlittle technical knowledge. The user 602 may transfer a video file froma video enabled recording/storage device 102, or from a local database130, views the pre-edited video file on the video enabled playbackdevice 132, edits the file as desired, views the post-edited video fileon the video enabled playback device 132, and sends the file to thecontent delivery network 124 via publisher 112 and the applicationserver(s) 120. To begin the process of posting the video file to thedesired page, the user may select the target space and initiate theprocess. If the publisher is already loaded on the user's clientcomputing facility, the capture, editing, and transcoding processes maytake place through the use of the publisher and then the transcoded filemay be posted to the target space. In embodiments, the posting mayinvolve transferring the video file to a content delivery network andposting an associated link (e.g. possibly associated with a player) onthe target space. The link may also contain a snippet or otherrepresentation identifying the video. In embodiments, the applicationserver(s) 120 may send the user 602 a link to the file that the user 602for his own records or to be referenced or posted. Any user 602 withaccess to the personal web site may now select the hyperlink fordownload of the video file for viewing utilizing the player 128 and avideo enabled playback device 132, and/or storage to a database 130. Ifthe user 602 selecting the file for download does not have a videoplayer 128, the application server(s) 120 may give the user 602 theoption of downloading the player 128. The process involving the users602 downloading the video file may continue within the constraints setup by the posting user's 602 control parameters. In embodiments, the‘link’ that is supplied on the website may be a media player (e.g. a webenabled video player, or a browser plug-in style player). Inembodiments, the ‘link’ provides connection to the video file andfacilitates playback of the video.

In embodiments, the publisher 112 and player 128, as browser plug-insembedded into a browser enabled processor platform 104 with anintegrated video enabled recording/storage device 102, may be utilizedto post video files on websites 122. Types of websites 122 may includepersonal websites 122; personal networking websites 122; Businesswebsites 122 for intra-business, inter-business, or customerinteractions; e-commerce websites 122 such as e-Bay, personals, auctionsites, or real estate; organizational or governmental sites such astours of historical locations or tours of facilities; or enterprisewebsites 122 such as over the intranet, extranet, or internet. A user ofa browser-enabled video manipulation and posting facility 100 may postvideo files with little technical knowledge. The user 602 may create avideo file with the video enabled recording/storage device 102, transferthe video file from a local database 130, or download a previouslystored video file utilizing the player 128; edit the file as desired;and send the file to the content delivery network 124 via publisher 112and the application server(s) 120. To begin the process of posting thevideo file to the desired page, the user may select the target space andinitiate the process. If the publisher is already loaded on the user'sclient computing facility, the capture, editing, and transcodingprocesses may take place through the use of the publisher and then thetranscoded file may be posted to the target space. In embodiments, theposting may involve transferring the video file to a content deliverynetwork and posting an associated link (e.g. possibly associated with aplayer) on the target space. The link may also contain a snippet orother representation identifying the video. In embodiments, theapplication server(s) 120 may send the user 602 a link to the file thatthe user 602 for his own records or to be referenced or posted. Any user602 with access to the web site may now select the hyperlink fordownload of the video file for viewing utilizing the player 128 and avideo enabled playback device 132, and/or storage to a database 130. Ifthe user 602 selecting the file for download does not have a videoplayer 128, the application server(s) 120 may give the user 602 theoption of downloading the player 128. The process involving the users602 downloading the video file may continue within the constraints setup by the posting user's 602 control parameters. In embodiments, the‘link’ that is supplied on the website may be a media player (e.g. a webenabled video player, or a browser plug-in style player). Inembodiments, the ‘link’ provides connection to the video file andfacilitates playback of the video.

In embodiments, the publisher 112, as a browser plug-in embedded into abrowser enabled processor platform 104 with an integrated video enabledrecording/storage device 102 and video enabled playback device 132, maybe utilized to post video files on websites 122. Types of websites 122may include personal websites 122; personal networking websites 122;Business websites 122 for intra-business, inter-business, or customerinteractions; e-commerce websites 122 such as e-Bay, personals, auctionsites, or real estate; organizational or governmental sites such astours of historical locations or tours of facilities; or enterprisewebsites 122 such as over the intranet, extranet, or internet. A user ofa browser-enabled video manipulation and posting facility 100 may postvideo files with little technical knowledge. The user 602 may create avideo file with the video enabled recording/storage device 102, transferthe video file from a local database 130, view the pre-edited video filewith a video enabled playback device, edit the file as desired, view thepost-edited video file with a video enabled playback device, and sendthe file to the content delivery network 124 via publisher 112 and theapplication server(s) 120. To begin the process of posting the videofile to the desired page, the user may select the target space andinitiate the process. If the publisher is already loaded on the user'sclient computing facility, the capture, editing, and transcodingprocesses may take place through the use of the publisher and then thetranscoded file may be posted to the target space. In embodiments, theposting may involve transferring the video file to a content deliverynetwork and posting an associated link (e.g. possibly associated with aplayer) on the target space. The link may also contain a snippet orother representation identifying the video. In embodiments, theapplication server(s) 120 may send the user 602 a link to the file thatthe user 602 for his own records or to be referenced or posted. Any user602 with access to the web site may now select the hyperlink fordownload of the video file for viewing utilizing the player 128 and avideo enabled playback device 132, and/or storage to a database 130. Ifthe user 602 selecting the file for download does not have a videoplayer 128, the application server(s) 120 may give the user 602 theoption of downloading the player 128. The process involving the users602 downloading the video file may continue within the constraints setup by the posting user's 602 control parameters. In embodiments, the‘link’ that is supplied on the website may be a media player (e.g. a webenabled video player, or a browser plug-in style player). Inembodiments, the ‘link’ provides connection to the video file andfacilitates playback of the video.

In embodiments, the publisher 112 and player 128, as browser plug-insembedded into a browser enabled processor platform 104, may beintegrated with a video enabled recording/storage device 102 and videoenabled playback device 132. The user 602 may create video files forediting through an integrated video enabled recording/storage devicevideo enabled recording/storage device 102, and played back on the videoenabled playback device 132. Editing of the video file may be donedirectly on the device. Editing may consist of cutting and concatenatingvideo, adding audio, and producing a final product ready for posting toa network. By having publisher 112 as an integral function within thedevice, the user 602 need only drag the video file into publisher 112and the video is transcoded into a common file format of thebrowser-enabled video manipulation and posting facility 100, and is madeavailable for editing. In addition, the user 602 may have utilized theplayer 128 to access previously stored files on the browser-enabledvideo manipulation and posting facility 100 for inclusion with the newvideo as recorded by the video enabled recording/storage device 102.Publisher 112 may be used to combine video files producing a finaledited version for subsequent upload to the browser-enabled videomanipulation and posting facility 100. An example of this integratedfacility may be a digital video camera 102B with a display for viewingvideo files, integrated with a browser enabled processor platform 104and the hosted browser 108 with the publisher 112 and player 128 browserplug-ins. This enhanced digital video camera 102B now may have thecapability to edit and produce a final product for web posting whileaway from a network connection. When the user 602 establishes a networkconnection, the user 602 may now simply upload the video file throughthe browser-enabled video manipulation and posting facility 100 foraccess to other users 602. In embodiments, the ‘link’ that is suppliedon the website may be a media player (e.g. a web enabled video player,or a browser plug-in style player). In embodiments, the ‘link’ providesconnection to the video file and facilitates playback of the video.

In embodiments, the publisher 112 and player 128, as browser plug-insembedded into a browser enabled processor platform 104 with anintegrated video enabled recording/storage device 102 and video enabledplayback device 132, may be utilized to post video files on websites122. Types of websites 122 may include personal websites 122; personalnetworking websites 122; Business websites 122 for intra-business,inter-business, or customer interactions; e-commerce websites 122 suchas e-Bay, personals, auction sites, or real estate; organizational orgovernmental sites such as tours of historical locations or tours offacilities; or enterprise websites 122 such as over the intranet,extranet, or internet. A user of a browser-enabled video manipulationand posting facility 100 may post video files with little technicalknowledge. The user 602 may create a video file with the video enabledrecording/storage device 102, transfer the video file from a localdatabase 130, view the pre-edited video file with a video enabledplayback device, edit the file as desired, view the post-edited videofile with a video enabled playback device, and send the file to thecontent delivery network 124 via publisher 112 and the applicationserver(s) 120. In addition, the user 602 may utilize the player 128 toaccess previously stored files on the browser-enabled video manipulationand posting facility 100 for inclusion with the new video as recorded bythe video enabled recording/storage device 102. Publisher 112 may beused to combine video files producing a final edited version forsubsequent upload to the browser-enabled video manipulation and postingfacility 100. To begin the process of posting the video file to thedesired page, the user may select the target space and initiate theprocess. If the publisher is already loaded on the user's clientcomputing facility, the capture, editing, and transcoding processes maytake place through the use of the publisher and then the transcoded filemay be posted to the target space. In embodiments, the posting mayinvolve transferring the video file to a content delivery network andposting an associated link (e.g. possibly associated with a player) onthe target space. The link may also contain a snippet or otherrepresentation identifying the video. In embodiments, the applicationserver(s) 120 may send the user 602 a link to the file that the user 602for his own records or to be referenced or posted. Any user 602 withaccess to the web site may now select the hyperlink for download of thevideo file for viewing utilizing the player 128 and a video enabledplayback device 132, and/or storage to a database 130. If the user 602selecting the file for download does not have a video player 128, theapplication server(s) 120 may give the user 602 the option ofdownloading the player 128. The process involving the users 602downloading the video file may continue within the constraints set up bythe posting user's 602 control parameters. In embodiments, the ‘link’that is supplied on the website may be a media player (e.g. a webenabled video player, or a browser plug-in style player). Inembodiments, the ‘link’ provides connection to the video file andfacilitates playback of the video.

While the invention has been disclosed in connection with the preferredembodiments shown and described in detail, various modifications andimprovements thereon will become readily apparent to those skilled inthe art. Accordingly, the spirit and scope of the present invention isnot to be limited by the foregoing examples, but is to be understood inthe broadest sense allowable by law.

1. A method for enabling a user to edit one or more clips displayedwithin a user interface of a browser application, comprising the stepsof: retrieving a clip among the one or more clips from a memory facilityof a browser enabled processor platform including a display; presentingthe clip to the user through the user interface of the browserapplication displayed on the display, the browser application includinga clip manipulation and posting publisher having an editing tool andoperating on the browser enabled processor platform; presenting theediting tool to the user through the user interface; editing the clipwith the editing tool based on an input from the user to alter anappearance of the clip and resulting in an edited clip; storing theedited clip in the memory facility; receiving a set of network locationcontrol parameters that are unique to a network location among aplurality of network locations; transcoding the edited clip with theclip manipulation and posting publisher according to the set of networklocation control parameters to create a transcoded clip; and uploadingthe transcoded clip to the network location according to the set ofnetwork location control parameters with the clip manipulation andposting publisher.
 2. The method of claim 1, wherein the clip isselected from a group consisting of a video clip, an audio clip, amultimedia clip, a podcast clip, an advertisement clip, and aninteractive clip.
 3. The method of claim 1, wherein the editing tool isan integrated component of the clip manipulation and posting publisherthat includes a plurality of components.
 4. The method of claim 1,wherein the clip is associated with a format.
 5. The method of claim 1,further comprising the steps of receiving the clip from one of aplurality of sources and storing the clip in the memory facility.
 6. Themethod of claim 1, wherein the step of retrieving the clip includes thestep of allowing the user to drag the clip into the user interface forpresentation to the user and editing with the editing tool.
 7. Themethod of claim 1, wherein the editing tool includes one or more editingfunctions.
 8. The method of claim 1, further comprising the steps of:retrieving a second clip among the one or more clips from the memoryfacility; presenting the second clip to the user through the userinterface; and enabling the user to alter an appearance of the secondclip with the editing tool and resulting in a second edited clip; andstoring the second edited clip in the memory facility.
 9. A system forediting one or more clips within a user interface of a browserapplication comprising: a browser enabled processor platform including adisplay and a memory facility, the memory facility storing software codeexecuted by the browser enabled processor platform to operate a clipmanipulation and posting publisher operating in conjunction with thebrowser application, the clip manipulation and posting publisherretrieving a clip among the one or more clips from the memory facilityand displaying on the display the clip to a user through the userinterface, the clip manipulation and posting publisher including anediting tool responding to a user command input through the userinterface to alter an appearance of the clip within the memory facilityto create an edited clip, including a transcoder transcoding the editedclip according to a set of network location control parameters receivedby the clip manipulation and posting publisher and that are unique to anetwork location among a plurality of network locations, the clipmanipulation and posting publisher including a publisher uploading theedited clip to the network location in accordance with the set ofnetwork location control parameters.
 10. The system of claim 9, whereinthe clip is selected from a group consisting of a video clip, an audioclip, a multimedia clip, a podcast clip, an advertisement clip, and aninteractive clip.
 11. The system of claim 9, wherein the editing tool isan integrated component of the clip manipulation and posting publisherthat includes and controls a plurality of components.
 12. The system ofclaim 9, wherein the clip is associated with a format.
 13. The system ofclaim 9, wherein the clip is received by the browser enabled processorplatform from a plurality of sources and stored in the memory facility.14. The system of claim 9, wherein the clip manipulation and postingpublisher enables the user to drag the clip into the user interface forediting with the editing tool.
 15. The system of claim 9, wherein theediting tool includes one or more editing functions.
 16. The system ofclaim 9, wherein the clip manipulation and posting publisher retrieves asecond clip among the one or more clips from the memory facility anddisplays on the display the second clip to the user through the userinterface, and wherein the editing tool responds to the user commandinput through the user interface to alter an appearance of the secondclip within the memory facility.